【发布时间】:2017-07-06 01:43:04
【问题描述】:
我在 Microsoft SQL 管理工作室中使用 Azure SQL。我首先将名为ssma$rowid 的列重命名为ssmarowid,然后使用
ALTER TABLE "myCoolTable" DROP COLUMN "ssmarowid";
SQL 管理工作室提示我删除成功,但现在我尝试在我的表的不同列中运行任何 UPDATE 命令,我收到以下错误消息:
Invalid column name 'ssma$rowid'.
如果我尝试在没有脚本的情况下编辑单元格,通过右键单击我的表格,然后单击Edit top 200,我会收到以下错误消息:
The data in row xxx was not committed.
Error Source: .Net SqlClient Data Provider.
Error Message: Invalid column name 'ssma$rowid'
Invalid column name 'ssma$rowid'
Invalid column name 'ssma$rowid'
Correct the errors and retry or press ESC to cancel the change(s)
当我运行SELECT 语句时,ssma$rowid 列根本没有出现在我的表中,并且如果我显式尝试提取列 ssma$rowid 或 ssmarowid SQL 告诉我它们不存在.
我的专栏似乎在某个地方丢失了,我可以从哪里开始寻找我的流氓专栏?
【问题讨论】:
-
我会首先检查表是否有可能引用旧列的触发器
-
我对@987654333@ 和
ssmarowid都进行了删除,尽管我遇到了@TimBiegeleisen 的错误,但现在控制台返回两者都不存在 -
好的,谢谢@eugenioy 我会检查的
-
如果事情仍然引用旧列,当然你会得到错误。你应该清理任何引用它的东西。如果您在该表上的编辑屏幕上打开了 SSMS,您可能需要关闭并重新打开它,以便它不会尝试更新不存在的列。
-
@eugenioy 的建议看起来不错;检查可能仍引用旧列的触发器。
标签: sql sql-server azure