更新值为“02”的主键值未保存

时间:2011-08-01 07:11:48

标签: mysql

当我更新值为“02”的主列时,它只保存为2.但它应保存为02。

当我运行以下sql时,没有收到任何错误并成功保存。但价值不是更新。它不接受任何以'0'开头的值。

UPDATE `table_name` SET `id` = '02' WHERE `id` =2 ;

2 个答案:

答案 0 :(得分:1)

将您的ID列声明为Zerofill。使用zerofill声明的列可用于显示带前导零的值但这并不意味着它实际存储前导零。它不存储前导零但用于显示带前导零的值

您可以修改现有列。

ALTER TABLE table_name MODIFY `id` INT(11) ZEROFILL NOT NULL AUTO_INCREMENT

答案 1 :(得分:0)

您必须将id列的数据类型从数字数据类型更改为VARCHAR或类似,以保存前导零。否则,02与2,002,0002,00002等号相同。