2014-10-20 117 views
0

我需要從數據庫的備份版本更新單列。我已經恢復的備份到不同的數據庫位置和正在運行的以下內容:返回更新表 - 多部分標識符無法綁定

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。

回答

2

所有你需要的列refernces是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

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 
0

這應該工作:

UPDATE table_name的 SET表名。 column = restoredDB.dbo.table_name.column FROM table_name JOIN restoredDB.dbo.table_name.column ON table_name.ID = table_name.ID

基於SQL update query using joins

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 
相關問題