【发布时间】:2016-07-18 13:20:46
【问题描述】:
我正在尝试通过此语句将唯一约束添加为外键:
ALTER TABLE SOME_TABLE ADD(
CONSTRAINT FK_ID FOREIGN KEY (S_ID) REFERENCES OTHER_TABLE(O_ID) UNIQUE (S_ID)
);
我认为这个说法是正确的,但我一直得到"missing right parenthesis error"。可能我的关键词顺序错误。
你能给我建议如何创建一个独特的约束吗?
我红了这个问题:
Add a unique constraint of a sql table as foreign key reference to an another sql table
但我仍然有这个问题。
【问题讨论】:
-
unique (..)部分无效。引用的表需要有这样的约束,创建FK时不能指定(也不需要整个constraint ..部分的括号) -
您是否试图要求 S_ID 在表 SOME_TABLE 中是唯一的?您不必这样做,如果需要,这通常是数据库设计不佳的标志。 O_ID 在 OTHER_TABLE 中必须是唯一的,但外键几乎从不唯一(在它是外键的表中,而不是在它是主键的“父”表中)。