Mysql 请帮助:无法绑定多部分标识符

Mysql 请帮助:无法绑定多部分标识符,mysql,sql,Mysql,Sql,我知道有很多关于这个主题的帖子,但我真的很困惑,为什么我的代码不起作用。我只是有两个表,并试图根据where语句使用来自另一个表的信息更新一个表中的值。我在其他实例中几乎使用了相同的代码来完成这项工作,没有任何问题,因此我不确定在本例中为什么会出现错误。如果有人能提供任何帮助,我将不胜感激 代码: 变量名称在两个表中都是文本,年份/Id都是整数。您需要在update语句中加入表2 UPDATE t1 SET [table1].[variabe_name] = [table2].[variabl

我知道有很多关于这个主题的帖子,但我真的很困惑,为什么我的代码不起作用。我只是有两个表,并试图根据where语句使用来自另一个表的信息更新一个表中的值。我在其他实例中几乎使用了相同的代码来完成这项工作,没有任何问题,因此我不确定在本例中为什么会出现错误。如果有人能提供任何帮助,我将不胜感激

代码:


变量名称在两个表中都是文本,年份/Id都是整数。

您需要在update语句中加入表2

UPDATE t1 
SET [table1].[variabe_name] = [table2].[variable_name]
FROM [table1] t1
INNER JOIN [table2]
    ON [table1].[variable_name] = [table2].[variable_name]
WHERE ([table1].[Year] = [table2].[Year] AND [table1].[Id] = [table2].[Id]);

谢谢大家。我们将在稍后试用上述代码。复制一个值时是否需要使用内部联接?正如我所说,我以前使用过上面的语法来设置多个变量的值,并且从未需要使用内部联接,也从未出现过此错误。这是我唯一一次尝试设置单个值的情况。如果您试图将表1中的一列设置为等于表N中的值,则需要联接表N和任何其他相应的表。谢谢。将不得不做更多的挖掘,因为上面的代码现在表示表1中的变量不能绑定。在我提供的代码中,它返回说表2中的变量无法绑定。再次感谢大家。我已经解决了这个问题。使用我的原始代码,我将[DB].[DBO].[Table2]中的语句放在set命令下,一切正常。
UPDATE t1 
SET [table1].[variabe_name] = [table2].[variable_name]
FROM [table1] t1
INNER JOIN [table2]
    ON [table1].[variable_name] = [table2].[variable_name]
WHERE ([table1].[Year] = [table2].[Year] AND [table1].[Id] = [table2].[Id]);