我有一个奇怪的SQL问题,我从来没有遇到过,并且在google ing中没有运气。 在我的网站上。在订购产品时,用户需要使用其私有ID填充一个字段,该字段保存在数据库中
UPDATE bs_users SET passport_id = 01010101011 WHERE id=177
但问题是在mysql中0因某种原因被删除了,这是我在数据库中得到的结果
字段的类型是varchar,限制为50个字符
答案 0 :(得分:4)
尝试将值括在引号
中UPDATE bs_users SET passport_id = '01010101011' WHERE id = '177'
原因是01010101011
是一个整数,它被解析为1010101011
。然后将其转换为字符串,但前导0已经丢失。如果你想保持前导0,把它作为一个字符串传递,而不是一个整数。感谢@Joachim Isaksson的解释