USE PUBS
GO
CREATE TABLE SPJ
(SNO CHAR(4),
PNO CHAR(4),
JNO CHAR(4),
STY INT
PRIMARY KEY(SNO,PNO,CNO),
FOREIGN KEY(SNO),REFERENCES S(SNO),
FOREIGN KEY(PNO),REFERENCES P(PNO),
FOREIGN KEY(JNO),REFERENCES J(JNO),
);消息 102,级别 15,状态 1,第 7 行
',' 附近有语法错误。
调试欢乐多
(SNO CHAR(4),
PNO CHAR(4),
JNO CHAR(4),
STY INT
PRIMARY KEY(SNO,PNO,CNO),
FOREIGN KEY(SNO) REFERENCES S(SNO),
FOREIGN KEY(PNO) REFERENCES P(PNO),
FOREIGN KEY(JNO) REFERENCES J(JNO),
);
GO
CREATE TABLE SPJ
(SNO CHAR(4),
PNO CHAR(4),
JNO CHAR(4),
STY INT --这里的少了个逗号
PRIMARY KEY(SNO,PNO,CNO),
FOREIGN KEY(SNO),REFERENCES S(SNO),
FOREIGN KEY(PNO),REFERENCES P(PNO),
FOREIGN KEY(JNO),REFERENCES J(JNO),--这里多了个逗号
);
GO
CREATE TABLE SPJ
(SNO CHAR(4),
PNO CHAR(4),
JNO CHAR(4),
STY INT
PRIMARY KEY(SNO,PNO,CNO),
FOREIGN KEY(SNO) REFERENCES S(SNO),
FOREIGN KEY(PNO) REFERENCES P(PNO),
FOREIGN KEY(JNO) REFERENCES J(JNO)
)
CREATE TABLE SPJ
(SNO CHAR(4),
PNO CHAR(4),
JNO CHAR(4),
STY INT
PRIMARY KEY(SNO,PNO,JNO), --应该是JNO吧
FOREIGN KEY(SNO) REFERENCES S(SNO),
FOREIGN KEY(PNO) REFERENCES P(PNO),
FOREIGN KEY(JNO) REFERENCES J(JNO)
);
cno这个字段并不存在
我用你的代码就可以呀,应该是那个逗号附近有 中文输入法下的空格CREATE TABLE SPJ
(SNO CHAR(4),
PNO CHAR(4),
JNO CHAR(4),
STY INT
PRIMARY KEY(SNO,PNO,JNO),
FOREIGN KEY(SNO) REFERENCES S(SNO),
FOREIGN KEY(PNO) REFERENCES P(PNO),
FOREIGN KEY(JNO) REFERENCES J(JNO),
);
-------------------------
命令已成功完成。
(SNO CHAR(4),
PNO CHAR(4),
JNO CHAR(4),
STY INT
PRIMARY KEY(SNO,PNO,JNO),
FOREIGN KEY(SNO) REFERENCES S(SNO),
FOREIGN KEY(PNO) REFERENCES P(PNO),
FOREIGN KEY(JNO) REFERENCES J(JNO),
);
-------------------------
命令已成功完成。
为什么我复制进去,执行就这样出错了呢?消息 1753,级别 16,状态 0,第 1 行
列 'J.JNO' 的长度与外键 'FK__SPJ__JNO__5812160E' 中的引用列 'SPJ.JNO' 的长度不同。参与构造外键关系的列必须定义为具有同一长度。
消息 1750,级别 16,状态 0,第 1 行
无法创建约束。请参阅前面的错误消息。
(SNO CHAR(4),
PNO CHAR(4),
JNO CHAR(4),
STY INT
PRIMARY KEY(SNO,PNO,JNO),
FOREIGN KEY(SNO) REFERENCES S(SNO),---这里没有逗号 你看看你的有!
FOREIGN KEY(PNO) REFERENCES P(PNO),
FOREIGN KEY(JNO) REFERENCES J(JNO),
);明显你那里对了三个逗号!
J表的JNO字段与SPJ表的JNO字段长度要一样
(SNO CHAR(4),
PNO CHAR(4),
JNO CHAR(4),
STY INT ,--这里少个逗号
PRIMARY KEY(SNO,PNO,CNO),
FOREIGN KEY(SNO) REFERENCES S(SNO),
FOREIGN KEY(PNO) REFERENCES P(PNO),
FOREIGN KEY(JNO) REFERENCES J(JNO),
);