SQL外键&引用其他表 - 一致的错误

时间:2015-01-04 15:55:28

标签: sql database oracle oracle11g

在新手数据库的经典案例中,我无法让我的代码工作!它是由此交集表解决的多对多关系。

CREATE TABLE logging (
songID int FOREIGN KEY REFERENCES song (songID),
playlistID int FOREIGN KEY REFERENCES playlist (playlistID),
PRIMARY KEY (songID , PlaylistID)
);

我似乎总是得到

的错误
ORA-00904: "SONGID": invalid identifier

ORA-00907: missing right parenthesis

目前的其他两个表如下:

CREATE TABLE song (
songID int PRIMARY KEY,
name VARCHAR2(100)
);

CREATE TABLE playlist (
playlistID int PRIMARY KEY,
name VARCHAR2(100)
);

我不确定如何删除或继续。我使用的是oracle 11g。

2 个答案:

答案 0 :(得分:0)

怎么样

CREATE TABLE logging (
songID int,
playlistID int,
CONSTRAINT pk_logging PRIMARY KEY (songID),
CONSTRAINT fk_logging_song FOREIGN KEY(songID) REFERENCES song(songID),
CONSTRAINT fk_logging_playlist FOREIGN KEY(playlistID) REFERENCES playlist(playlistID)
);

这适用于Oracle Apex。

答案 1 :(得分:0)

CREATE TABLE logging (
songID int,
playlistID int,
PRIMARY KEY (songID , PlaylistID),
FOREIGN KEY (songID) REFERENCES song (songID),
FOREIGN KEY (playlistID) REFERENCES playlist (playlistID)
);

应该如何创建mySQL对象,所以你可以这样做,或者Zajonc如何在我之上说。

您定义它的方式,它适用于SQL Server / Oracle / MS Access。非常奇怪它不适合你。

相关问题