MySQL UPDATE语句合并SET操作时出现1064语法错误求助
问题原因及解决方法
你的错误在于重复使用了SET关键字,MySQL的UPDATE语句语法规则里,SET子句仅需声明一次,多个字段的赋值操作(或同一字段的多步处理)不需要重复写SET。你原本的代码里连续写了两个SET,直接违反了语法规范,这就是1064错误的根源。
正确写法
因为你是对同一个字段执行两个字符串处理操作(转大写+去首尾空格),可以将两个函数嵌套,合并为一次赋值:
UPDATE `tbloldfurniture` SET `tbloldfurniture`.`NotesOnOldness` = UPPER(TRIM(`NotesOnOldness`)) WHERE rwID = 3;
如果需要调整操作顺序(比如先转大写再去空格,实际效果和先去空格再转大写差异极小),可以调换函数顺序:
UPDATE `tbloldfurniture` SET `tbloldfurniture`.`NotesOnOldness` = TRIM(UPPER(`NotesOnOldness`)) WHERE rwID = 3;
补充说明
如果是对不同字段执行更新,正确的多字段写法是用逗号分隔赋值项,只保留一个SET:
UPDATE `tbloldfurniture` SET `NotesOnOldness` = UPPER(`NotesOnOldness`), `AnotherField` = TRIM(`AnotherField`) WHERE rwID = 3;
内容的提问来源于stack exchange,提问作者Theo Fitchner
相关产品推荐
相关产品推荐

