带有CAST和连接的MySQL错误

时间:2017-04-20 03:36:12

标签: mysql sql

考虑以下代码

UPDATE users SET class = '-' + CAST(class AS CHAR(50)) + '-' WHERE 1=1

以上查询引发以下错误:

#1292 - Truncated incorrect DOUBLE value: '-'

我最近将类列从int(11)更新为varchar(255),并尝试将每一行更新为以下格式:-class-其中class是前一个int值。

1 个答案:

答案 0 :(得分:1)

如果你已经将列从int更新为varchar,那么就没有点它并只使用CONCAT

UPDATE users SET class = CONCAT ('-',class,'-') WHERE 1=1

如果class为NULL,那么结果将为NULL,以确保您只使用值

更新CLASS
UPDATE users SET class = CONCAT ('-',class,'-') WHERE class IS NOT NULL