草庐IT

KeyPartOne

全部标签

mysql - 更新以复合键连接的表

我正在尝试更新与较小索引表中的行相交的数据表中的行。这两个表在数据表的复合PK上连接,使用相同条件的解释选择表明索引被正确使用,并且提取了正确的唯一行-但我仍然遇到更新问题。当临时表中只有1行时,连接表的更新工作正常,但当我有更多行时,我得到MySqlError1175,并且我指定的WHERE条件均未被识别。我知道我可以使用SETSQL_SAFE_UPDATES=0关闭安全模式,但是谁能告诉我我在这里不明白的是什么?为什么我的WHERE条件不被接受,为什么当我进行NATURALJOIN时它甚至需要一个where-为什么这只适用于右侧表(MyTempTable)中的一行?代码下面大大简化