我在创建包含复合键和主键的SQL表时遇到了问题。这是我现在所拥有的:SQL表中有复合键和主键
CREATE TABLE Racunar (
IPAdresa char(15) PRIMARY KEY,
CPU char(20),
HD char(20)
);
CREATE TABLE Program (
Naziv char(15),
Verzija char(20),
Datum char(11),
PRIMARY KEY(Naziv, Verzija)
);
CREATE TABLE Operater (
SifO int PRIMARY KEY,
Ime char(20),
BrTel char(20)
);
CREATE TABLE JeInstaliran (
IPAdresa char(15) FOREIGN KEY REFERENCES Racunar(IPAdresa),
SifO int FOREIGN KEY REFERENCES Operater(SifO),
FOREIGN KEY(Naziv, Verzija) REFERENCES Program(Naziv, Verzija),
DatumInstalacije char(11)
);
问题出在最后一个表的某处。我正在使用SQL Fiddle,并且在尝试构建架构后返回了下一条错误消息:
架构创建失败:您的SQL语法有错误;检查对应于你的MySQL服务器版本使用附近的 正确的语法手册“外键参考Racunar(IPAdresa), SIFO INT FOREIGN KEY参考歌剧院”第2行:
我不知道为什么这不起作用,所以我会很感激任何帮助。提前致谢。
看起来像JeInstaliran表要使用它没有列作为重点(Naviz,Verzija)定义它的列定义之后。尝试先定义这些列。 – bdares