You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量修改MySQL表中allow_two_day_ordering字段值为False?

你的SQL语句问题分析及修正方案

原语句的问题

你写的语句UPDATE venue_locations set allow_two_day_ordering = FALSE WHERE ID = '26862,26865,26868';是错误的。原因是:

  • 使用=运算符时,MySQL会把右侧的字符串'26862,26865,26868'作为整体匹配ID字段,不会拆分出三个独立的ID值,最终只会修改ID等于这个字符串的行(显然你的表中不存在这样的ID)。

正确的写法分两种情况

情况1:修改表中所有行的allow_two_day_ordering为False

如果你需要把整个列的所有值都改成False,直接去掉WHERE子句即可:

UPDATE venue_locations SET allow_two_day_ordering = FALSE;

注意:执行全表更新前,建议先执行SELECT * FROM venue_locations;确认表数据,避免误操作。如果表数据量极大,可以考虑分批更新或添加事务保障。

情况2:仅修改指定ID的行

如果只是要修改ID为26862、26865、26868的这几行,需要使用IN运算符;若ID是数值类型,不需要加引号:

UPDATE venue_locations SET allow_two_day_ordering = FALSE WHERE ID IN (26862, 26865, 26868);

若ID是字符串类型,则给每个ID添加引号:

UPDATE venue_locations SET allow_two_day_ordering = FALSE WHERE ID IN ('26862', '26865', '26868');

内容的提问来源于stack exchange,提问作者Singleton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:22:09