【发布时间】:2015-01-18 21:05:45
【问题描述】:
所以我有两张桌子
CREATE TABLE Client(
ID NUMBER(10) NOT NULL, (PRIMARY KEY)
Name VARCHAR(30) NOT NULL,
Surname VARCHAR(30) NOT NULL,
Phone NUMBER(11) NOT NULL,
Email VARCHAR(70));
CREATE TABLE Boss(
B_Surname VARCHAR(30) NOT NULL, (PRIMARY KEY)
B_Name VARCHAR(30) NOT NULL);
我需要将外键(来自 Boss 表的 B_surname)放入 Client 表。我试过使用 ALTER TABLE:
ALTER TABLE Client ADD CONSTRAINT Boss_Client_fk FOREIGN KEY (B_Surname) REFERENCES Client(ID);
之后我得到了错误。 感谢您的帮助。
【问题讨论】:
-
您的 alter table 语句未提及 Boss 表。不能工作。检查文档的语法。
-
@Mat 谢谢回复,你能写出应该怎么写吗,因为我检查过语法,我不明白。
-
说出您遇到的哪些错误总是有帮助的。正如马特所说,你应该做
alter table boss,而不是alter table client。但是你为什么要让字符串b_surname列引用数字id? -
我认为他的意思是
CLIENT中的b_surname列引用BOSS中同名的列:ALTER TABLE Client ADD CONSTRAINT Boss_Client_fk FOREIGN KEY (B_Surname) REFERENCES boss (b_surname); -
PRIMARY KEY的语法也有点奇怪。至少看起来像多余的逗号。