MYSQL:在 CONCAT() 函数中使用列名给出语法错误 1064

标签 mysql sql concatenation

我有这个问题

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/

相关文章:

Mysql统计列值和合并列

mysql - 在入口点脚本中执行后如何清理临时文件?

SQL SSIS 使用派生列转换来处理空数据..替代方案?

sql - 像自定义 dsl 查询一样将 Sql 转换为 ElasticSearch?

sql - count(*) SQL 语句需要 "group by"?

python - 根据元素有条件地连接python列表中元组的字符串值

php - 通过 PHP 恢复特定表的 mysql 转储

arrays - 使用 for 循环连接多个元胞数组?

sql - 在SQL中连接所有列值

mysql - 在 1 列中选择具有多个 AND/OR/IN 条件的用户