MySQL执行批量更新列值SQL时出现1064语法错误求助
解决MySQL UPDATE语句的1064语法错误问题
Hey Eric, 这个问题我之前踩过同款坑!你遇到的1064语法错误,核心原因是标识符的引号用错了类型。
错误原因分析
在MySQL里,单引号(')是用来包裹字符串常量的,而表名、列名这类数据库标识符,需要用**反引号()**来包裹(如果标识符不是MySQL保留字,也可以不用引号)。你写的UPDATE 'refinance' SET 'rate' = rate + 20里,把表名refinance和列名rate`用单引号括起来了,数据库会把它们当成普通字符串,自然识别不了正确的表和列,直接抛出语法错误。
正确的SQL语句
你可以改成下面两种写法中的任意一种:
- 使用反引号包裹标识符(推荐,避免和MySQL保留字冲突):
UPDATE `refinance` SET `rate` = rate + 20;
- 直接省略引号(适用于标识符不是MySQL保留字的情况):
UPDATE refinance SET rate = rate + 20;
执行这两个语句,就能顺利给rate列的每个数值加上20啦。
内容的提问来源于stack exchange,提问作者Zeusofolus
相关产品推荐
相关产品推荐

