更新列给出错误:“无法绑定多部分标识符”

时间:2013-12-10 12:27:36

标签: sql sql-server

我在[manual db]表中有一个[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'

但是它显示错误:无法绑定多部分标识符。我在这里尝试了不同的东西,但似乎都没有效果。我有什么问题吗?

此致 萨达特

1 个答案:

答案 0 :(得分: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字段更新为'Box-1558',只是它已经匹配了那个值,但可能你真正的代码正在做一些更有用的东西......