我有这个问题

UPDATE `fitment_drums` SET `liters` = CONCAT(`liters`,'.0') WHERE `liters` LIKE '_'

从而导致此错误:
#1064-您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获得正确的语法
在“.0”)附近,从第1行的“fitment”桶“LIKE”处
当我替换一个普通的字符串时,它工作得很好。我尝试使用select语句作为参数,也尝试使用临时表:
CREATE TEMPORARY TABLE t1 (SELECT * FROM `fitment_drums` WHERE liters like '_')
UPDATE `fitment_drums` SET liters = CONCAT(t1.liters,'.0') where t1.id = id

最佳答案

好吧,我找到了“解决方案”。我在模拟模式下运行查询,这导致上面发布的错误。所以我备份了这个表,并在live模式下执行了查询,结果成功了。(作为记录,我使用phpMyAdmin)
很奇怪。
感谢所有想帮忙的人!

关于mysql - MYSQL:在CONCAT()函数中使用列名会产生语法错误1064,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40517442/

10-11 03:21