我有这个问题
UPDATE `fitment_drums` SET `liters` = CONCAT(`liters`,'.0') WHERE `liters` LIKE '_'
导致此错误的原因:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''.0') FROM `fitment_drums` WHERE `liters` LIKE '_'' at line 1
当我替换普通字符串时,例如。 CONCAT ('asdf','.0')
它工作正常。我试过使用 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
最佳答案
好的,所以我找到了“解决方案”。我在模拟模式下运行查询,这导致了上面发布的错误。所以我备份了表并在实时模式下执行了查询,并且成功了。 (为了记录,我正在使用 phpMyAdmin)
很奇怪。
感谢所有试图提供帮助的人!
关于MYSQL:在 CONCAT() 函数中使用列名给出语法错误 1064,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40517442/