Sql 在数据库上执行更新脚本时出错?
在Visual Studio 2013中尝试更新数据库时,我不断遇到以下错误。是否有人遇到过类似的问题或知道如何解决此问题 谢谢Sql 在数据库上执行更新脚本时出错?,sql,database,vb.net,visual-studio,Sql,Database,Vb.net,Visual Studio,在Visual Studio 2013中尝试更新数据库时,我不断遇到以下错误。是否有人遇到过类似的问题或知道如何解决此问题 谢谢 Creating [dbo].[Email]... Msg 1975,16级,状态1,第58行 索引“PK__电子邮件__3214EC07F586A15A”行长度超过了允许的最大长度“8060”字节。 Msg 1750,16级,状态0,第58行 无法创建约束。请参阅前面的错误。 **批处理执行期间遇到错误。退出。查看您创建的表后,我认为这将有助于指出,由于您无法确定
Creating [dbo].[Email]...
Msg 1975,16级,状态1,第58行
索引“PK__电子邮件__3214EC07F586A15A”行长度超过了允许的最大长度“8060”字节。
Msg 1750,16级,状态0,第58行
无法创建约束。请参阅前面的错误。
**批处理执行期间遇到错误。退出。查看您创建的表后,我认为这将有助于指出,由于您无法确定电子邮件正文的大小,因此为其设置大小是错误的。我建议使用类似的方法
Varchar(max)
这将有助于避免关于长度的错误,就像你现在遇到的那样
这将有助于@Steve在更改所需的字段类型后,我能够成功地更新表,非常感谢 然后将Body字段更改为ntext,因为电子邮件文本的长度没有明确的限制,同时将nchar字段更改为nvarchar,以便更好地处理这些字段文本长度的变化
你能显示你的电子邮件表的结构吗?为什么需要超过8060字节的PrimaryKey?您好,谢谢您的回复,请查看链接以查看我当前的表结构。该表将保存从.CSV文件导入的电子邮件数据。我建议将Body字段改为ntext,因为电子邮件文本的长度没有明确的限制,同时将nchar字段改为nvarchar,以便更好地处理这些字段文本长度的变化