加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server-2008 – SqlException:“GO”附近的语法错误

发布时间:2020-12-12 16:42:42 所属栏目:MsSql教程 来源:网络整理
导读:我无法使用context. Database.ExecuteSqlCommand()通过DbContext发送SQL语句. 我试图执行 CREATE TABLE Phones([Id] [uniqueidentifier] NOT NULL PRIMARY KEY,[Number] [int],[PhoneTypeId] [int])GOALTER TABLE [dbo].[Phones] ADD CONSTRAINT [DF_Phones_I
我无法使用context. Database.ExecuteSqlCommand()通过DbContext发送SQL语句.

我试图执行

CREATE TABLE Phones([Id] [uniqueidentifier] NOT NULL PRIMARY KEY,[Number] [int],[PhoneTypeId] [int])
GO
ALTER TABLE [dbo].[Phones] ADD  CONSTRAINT [DF_Phones_Id]  
    DEFAULT (newid()) FOR [Id]
GO

错误字符串失败

Incorrect syntax near the keyword 'ALTER'.
Incorrect syntax near 'GO'.

但是在SSMS中运行该确切的语句运行没有错误?有关通过DbContext的默认约束需要解决的任何问题.我看到使用约束并且IsDbGenerated设置为true的人的问题.我不知道这将如何适用于这里.

解决方法

GO不是SQL的一部分,所以不能用ExecuteSqlCommand()执行.在使用Management Studio或命令行工具时,请考虑GO作为分批的方式.相反,只要删除GO语句,你应该没事.如果您遇到错误,因为您需要分批运行命令,那么只需为要运行的每个批次调用ExecuteSqlCommand()一次.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读