微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我无法使用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()一次.

原文地址:https://www.jb51.cc/mssql/81518.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐