首页 > 解决方案 > 我想在一个查询中两次更新同一个表。它的语法是什么?

问题描述

我想在一个查询中更新同一张表中的 2 列,这可能吗?这就是我想做的。

query = UPDATE "table_name" SET "column" = 0 WHERE "column" = 1
 AND 
UPDATE "table_name" SET "column" = 1 WHERE id = ID

看的时候觉得有道理,但是mysql好像不太喜欢这个语法。

标签: mysql

解决方案


您可以在单个语句中更新同一个表的多个列,但前提是WHERE条件相同。

所以这有效:

UPDATE x SET foo = 'bar', oof = 100 WHERE y = 1

并且它将设置foo'bar'oof设置为 true100的每一行。y = 1

但是您的条件不匹配,因此您需要两个单独的语句。


推荐阅读