2013-12-10 25 views
0

我在[手動數據庫]表中有[Box MDB]列,需要根據兩個設置條件進行更新。我使用了以下代碼:更新列給出的錯誤:「無法綁定多部分標識符」

update [02Manual_DB].[dbo].[manual DB] 
set [02Manual_DB].[dbo].[manual DB].[Box_MDB] = 'Box-1558' 
where [02Manual_DB].[dbo].[1558].[wallet] = [02Manual_DB].[dbo].[manual DB].[Wallet_MDB] 
and [02Manual_DB].[dbo].[manual DB].[Box_MDB] like 'Box-1158' 

但是它顯示錯誤:無法綁定多部分標識符。我在這裏嘗試了不同的東西,但似乎沒有任何工作。有什麼我做錯了嗎?

問候, 薩達特

+0

這個錯誤是當sql服務器無法識別你指的對象。在這種情況下,問題是「[02Manual_DB]。[dbo]。[1558]。[錢包]」你不能在空中擺放任何桌子。查看@samjudson的答案。這應該起作用 –

回答

1

您指定的[1558]表名,而無需在FROM聲明實際上提到它。

我想你想要的是這樣的:

UPDATE [02Manual_DB].[dbo].[manual DB] 
SET [Box_MDB] = 'Box-1558' 
FROM [02Manual_DB].[dbo].[manual DB] AS M 
INNER JOIN [02Manual_DB].[dbo].[1558] AS W 
ON W.[wallet] = M.[Wallet_MDB] 
WHERE M.[Box_MDB] = 'Box-1158' 

顯然你的SQL實際上並沒有做任何事情,因爲它正在更新Box_MDB字段爲「箱1558」只有當它已經匹配價值,但大概你真正的代碼是做更有用的東西...

+1

您還需要刪除「SET」中賦值左側的別名 - 「UPDATE」表已在「UPDATE」和「SET」關鍵字之間被識別。 –

+0

正確,將更新。 – samjudson

相關問題