我想添加一个外键到现有的表,这是我到目前为止有:添加关系
ALTER TABLE INVOICE_ITEM
ADD CONSTRAINT Invoice_ItemFK FOREIGN KEY (ProdID);
我得到这个错误:
Msg 102, Level 15, State 1, Line 7 Incorrect syntax near ')'.
任何线索如何规避这个?
我想添加一个外键到现有的表,这是我到目前为止有:添加关系
ALTER TABLE INVOICE_ITEM
ADD CONSTRAINT Invoice_ItemFK FOREIGN KEY (ProdID);
我得到这个错误:
Msg 102, Level 15, State 1, Line 7 Incorrect syntax near ')'.
任何线索如何规避这个?
您需要指定REFERENCES子句。我已经在这里参考了 - 但你明白了。实际问题是外键的名称。它应该以FK_开头。
ALTER TABLE INVOICE_ITEM
ADD CONSTRAINT FK_Invoice_Item
FOREIGN KEY (ProdID)
REFERENCES Prod(ProdID);
感谢您的帮助,我想你的建议,并收到其他错误,这里是与错误沿着代码: – 2014-12-01 18:17:29
ALTER TABLE INVOICE_ITEM ADD CONSTRAINT Invoice_ItemFK 外键(的ProdID) 参考PROD(的ProdID) – 2014-12-01 18:18:32
消息207,级别16,状态1,行1 列名'Item'无效。 – 2014-12-01 18:19:00
您需要一个REFERENCES子句来列出您希望外键指向哪个表。例如,假设ProdID是PRODUCTS表的主键:
ALTER TABLE INVOICE_ITEM
ADD CONSTRAINT Invoice_ItemFK
FOREIGN KEY (ProdID)
REFERENCES PRODUCTS (ProdID);
请编辑您的原始问题 - 包括PROD和INVOICE_ITEM表的完整定义。 – AHiggins 2014-12-01 18:23:10