我需要从数据库的备份版本更新单个列。我已将备份还原到其他数据库位置,并运行以下命令:
update table_name
Set
column = restoredDB.dbo.table_name.column
From restoredDB.dbo.table_name
Where restoredDB.dbo.table.ID = table_name.ID
返回以下结果:
无法绑定多部分标识符“table_name.ID”
ID字段是主键bigint。我发现许多关于“多部分标识符无法绑定”主题的帖子,但它们似乎不适用于我的情况。有人可以解释为什么会发生这种情况以及如何纠正错误吗?
THX。
答案 0 :(得分:2)
列引用所需的只是TableName.ColumnName:
update table_name
Set
column = table_name.column
From restoredDB.dbo.table_name
Where table.ID = table_name.ID
此外,在您的Where table.id =
表达式中,示例查询中没有任何表名table
。
答案 1 :(得分:0)
你必须加入这些表格。对此:
from restoredDB.dbo.table_name
添加此
join table_name on restoredDB.dbo.table.ID = table_name.ID
这意味着你可以摆脱这个:
where restoredDB.dbo.table.ID = table_name.ID
答案 2 :(得分:0)
这应该有效:
UPDATE table_name SET table_name.column = restoredDB.dbo.table_name.column FROM table_name 加入 restoredDB.dbo.table_name.column ON table_name.ID = table_name.ID
答案 3 :(得分:0)
我认为这应该可以解决问题。
USE [<table_name_DB_Name>]
GO
UPDATE table_name
SET
column = t1.column
From restoredDB.dbo.table_name t1, table_name t2
Where t1.ID = t2.ID