考虑以下代码
UPDATE users SET class = '-' + CAST(class AS CHAR(50)) + '-' WHERE 1=1
以上查询引发以下错误:
#1292 - Truncated incorrect DOUBLE value: '-'
我最近将类列从int(11)
更新为varchar(255)
,并尝试将每一行更新为以下格式:-class-其中class是前一个int值。
答案 0 :(得分:1)
如果你已经将列从int更新为varchar,那么就没有点它并只使用CONCAT
UPDATE users SET class = CONCAT ('-',class,'-') WHERE 1=1
如果class为NULL,那么结果将为NULL,以确保您只使用值
更新CLASSUPDATE users SET class = CONCAT ('-',class,'-') WHERE class IS NOT NULL