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

MySQL Workbench中titanic表UPDATE语句报1064语法错误

1064语法报错根因

这个报错是MySQL解析器无法识别当前语句结构导致的,对应你当前的操作存在3处明确的语法规则偏差:

  • 缺失UPDATE语句强制要求的SET关键字:你Workbench中实际触发执行的语句为UPDATE titanic Age = 1000, Where Age = 0,表名和后续赋值列表之间没有写SET,解析器无法识别后面的赋值逻辑。
  • 冗余逗号触发解析阻断:你在赋值内容结束后、WHERE关键字前面多加了一个无意义的逗号,也就是报错提示中标记的, Where Age = 0位置。MySQL语法规定WHERE作为筛选子句的起始关键字,前面不允许接逗号,这是直接触发报错的核心原因。
  • 标点使用规则混淆:你最初编写的代码UPDATE titanic SET Age = 100, Where Age = 0;中,同样存在SET赋值完成后、WHERE前多加逗号的问题,即使后续补全了SET关键字,这个冗余逗号依然会触发1064报错。
修正后可直接执行的代码
-- 执行更新前先校验筛选范围,避免误改不符合预期的全表数据
SELECT * FROM titanic WHERE Age = 0;
-- 确认匹配的记录范围无误后执行更新操作
UPDATE titanic
SET Age = 100
WHERE Age = 0;
UPDATE语句语法注意事项
  • 逗号在UPDATE语句中仅用于SET子句内多列同时赋值的场景,合法使用示例为:
    UPDATE titanic
    SET Age = 100, Pclass = 3
    WHERE Age = 0;
    
    只有两个赋值列之间的逗号才符合语法规则,WHERE子句前方禁止加逗号。
  • 如果不需要筛选条件、要对全表做更新,写完SET后的所有赋值项直接接英文分号即可,不需要额外添加冗余标点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 11:15:04