【问题标题】:Adding Foreign key relationships in SQL server using T-SQL fails使用 T-SQL 在 SQL Server 中添加外键关系失败
【发布时间】:2017-09-06 12:31:36
【问题描述】:

我一直在尝试使用两个先前创建的表(名称 - “EndUser”,“Item”)的外键创建一个表(名称 - “UserItem”),但我一直收到错误

消息 102,第 15 级,状态 1,第 9 行
'GO' 附近的语法不正确。

创建表格的代码语法是

CREATE TABLE UserItem (
userID int   NOT NULL,    
itemName varchar(25) NOT NULL,   
CONSTRAINT FK_uid FOREIGN KEY (userID) REFERENCES EndUser (userID), 
CONSTRAINT FK_iname FOREIGN KEY (itemName) REFERENCES Item (itemName)  
ON DELETE CASCADE    
ON UPDATE CASCADE   
)GO 

之前创建的两个Table的语法如下,

CREATE TABLE EndUser(    
userID int PRIMARY KEY NOT NULL,     
userName varchar(25) NOT NULL,    
userPW varchar(8) NOT NULL      
)GO 


CREATE TABLE Item(    
itemName varchar(25) PRIMARY KEY NOT NULL,    
tag1 varchar(20) NOT NULL,     
tag2 varchar(20) NOT NULL,     
tag3 varchar(20) NOT NULL,    
)GO  

如果有任何帮助,我正在使用 Visual Studio 2015。

【问题讨论】:

  • Go 应该在单独的一行中,
  • 尝试将 GO 放在下一行。而且,你真的确定要级联删除吗?你真的考虑过吗?你知道后果是什么吗?
  • 感谢将 GO 放在不同的行上的人我是 T-SQL 的新手,@GuidoG 我按照文档中的示例和级联删除和级联更新需要我盲目地遵循示例代码文档。再次感谢您的帮助:)

标签: sql-server visual-studio tsql foreign-keys


【解决方案1】:

只要去掉 GO 就可以了

【讨论】:

  • 谢谢它也可以通过删除“GO”语句来工作。正如@DhruvJoshi 提到的那样,在不同的行上添加“GO”语句也可以工作,所以两者都是我问题的解决方案。对于像我一样迷失方向并在没有正确阅读文档和教程的情况下直接进入编码的其他人,请参阅这些链接about goa quick tutorial 以快速了解有关 t-sql 的概述。它节省了很多时间:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多