从这篇网络文章
发生此错误的原因是,当您在内部选择中还使用同一表作为更新条件时,MySQL不允许对表进行更新。本文继续提供一种解决方案,即使用临时表。
使用此示例,您的更新应为:
update fooset bar = bar - 1where baz in( select baz from ( select baz from foo where fooID = '1' ) as arbitraryTableName)

从这篇网络文章
发生此错误的原因是,当您在内部选择中还使用同一表作为更新条件时,MySQL不允许对表进行更新。本文继续提供一种解决方案,即使用临时表。
使用此示例,您的更新应为:
update fooset bar = bar - 1where baz in( select baz from ( select baz from foo where fooID = '1' ) as arbitraryTableName)