在新手数据库的经典案例中,我无法让我的代码工作!它是由此交集表解决的多对多关系。
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。
答案 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。非常奇怪它不适合你。