添加列后无法更新表(SQL 2008R2)
我们刚刚在数据库的4个表中添加了两列,添加列后无法更新表(SQL 2008R2),sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我们刚刚在数据库的4个表中添加了两列,UserHash-NVARCHAR(255)和UserSalt-NVARCHAR(8)。对于其中一个表,当我尝试更新该表上的任何内容时,我得到了关于UserHash列的以下错误 错误消息: Msg 207,级别16,状态1,第1行列名“UserHash”无效 示例Update语句: UPDATE dbo.Users SET UserSalt = 'asdf', UserHash = 'SomeString' WHERE ID = 21237 (1 ro
UserHash-NVARCHAR(255)
和UserSalt-NVARCHAR(8)
。对于其中一个表,当我尝试更新该表上的任何内容时,我得到了关于UserHash
列的以下错误
错误消息:
Msg 207,级别16,状态1,第1行列名“UserHash”无效
示例Update
语句:
UPDATE dbo.Users
SET UserSalt = 'asdf', UserHash = 'SomeString'
WHERE ID = 21237
(1 row(s) affected)
(1 row(s) affected)
这些表格是在SSMS中编辑的,其中3个没有问题
当我选择时,列就在那里。智能感知看到了它
删除列将恢复更新功能
问题表仅在UserHash
列中显示问题,而不是在UserSalt
列中显示问题
我已尝试删除并重新添加。同样的问题。
新列没有索引。
我已经重建了表上的所有索引
我做的每一次搜索都会得到。。“Oops..My bad”用于回答有关查询和视图的问题。你们中有谁见过这种行为吗?这不是一个糟糕的Oops,我是一个非常糟糕的供应商遗留的代码。。我必须深入挖掘才能找到答案 触发器中引用的“审核”表与字段无关,但是在该特定表的触发器中,它们使用列序号位置和其他一些与SQL 2008不兼容的复杂字段跟踪。()其他表的审核表和触发器较新,没有这些问题
现在,我必须检查数据库中的50多个触发器,使它们更新 列是否可为空…………如果不可为空,您的默认值是多少?我们可以看到整个错误消息吗?可能此表有一个更新触发器。@ZacM。那么我们能看到触发代码吗?这篇文章的结尾将是“哎呀……我的坏”哎呀,这真是太难了