SQL 外键和引用其他表 - 一致错误
SQL foreign keys & referencing other tables - consistent errors
在菜鸟数据库的经典案例中,我无法让我的代码工作!这是由这个交集 table 解决的多对多关系。
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
目前另外两个table如下:
CREATE TABLE song (
songID int PRIMARY KEY,
name VARCHAR2(100)
);
和
CREATE TABLE playlist (
playlistID int PRIMARY KEY,
name VARCHAR2(100)
);
而且我不确定如何删除它或继续。我正在使用 Oracle 11g。
怎么样
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。
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。很奇怪它不适合你。
在菜鸟数据库的经典案例中,我无法让我的代码工作!这是由这个交集 table 解决的多对多关系。
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
目前另外两个table如下:
CREATE TABLE song (
songID int PRIMARY KEY,
name VARCHAR2(100)
);
和
CREATE TABLE playlist (
playlistID int PRIMARY KEY,
name VARCHAR2(100)
);
而且我不确定如何删除它或继续。我正在使用 Oracle 11g。
怎么样
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。
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。很奇怪它不适合你。