请问如何将所有记录更新为 0
并仅将选定的 ID 设置为 1
UPDATE address SET default_addr = 1
WHERE addr_id = 100 AND user = 'peter'
上述查询会将选定的地址更新为 1,这很好,但我想通过一个查询将其他地址或旧选定的默认值设置为 0
最佳答案
在MySQL中,你可以这样做:
UPDATE address
SET default_addr = (addr_id = 100 AND user = 'peter');
(此简写使用了 MySQL 将 bool 值视为数字上下文中的数字的事实,“0”表示 false,“1”表示 true。)
如果您只想为名为 Peter 的用户提供一个默认地址,请使用 where
:
UPDATE address
SET default_addr = (addr_id = 100)
WHERE user = 'peter';
我怀疑这是您真正想要的逻辑。
关于mysql - 通过选定的id更新数据库记录并重置初始记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48232328/