MySQL 變量怎麼加引號

因爲要修改一個用戶電話號碼,SQL以下code

set @old_phone=13888888888;
set @new_phone=13888888887;

UPDATE table1 set phone = @new_phone WHERE phone = @old_phone AND type = 1;
...

結果報錯 1292 - Truncated incorrect DOUBLE value: 'xxx'blog

百度一頓操做,知道了緣由,update 檢查嚴格,phone 在表是 varchar 字段。須要將條件改爲字符串,可是後面有些表 phone 字段又是 int 格式,不能徹底兼容。
第一反應是修改以下字符串

UPDATE table1 set phone = @new_phone WHERE phone = '@old_phone' AND type = 1;

可是根本匹配不到。table

繼續分析緣由:
變量

顯然不是想要的結果。MySQL 的語法也是醉了,查了一遍也沒找到怎麼在變量上加引號。後來靈感突現,嘗試用 CONCAT 方法百度

最後 SQL 修改成date

UPDATE table1 set phone = @new_phone WHERE phone = @old_phone AND type = 1;   -- 錯

UPDATE table1 set phone = @new_phone WHERE phone = CONCAT(@old_phone) AND type = 1;   -- 對
相關文章
相關標籤/搜索