我有一个列id为INT(11)的表。当我这样做时:
insert into table (id) VALUES ('00001');
它将它转换为1.我不介意这种行为,但我想知道这是否会在未来版本的mysql中发生变化。是否有文件或原因说明这有效?
答案 0 :(得分:3)
这是因为列上的ZEROFILL
标志。如果设置了标志,它会将零添加为数字填充,以便它们满足总宽度"数量。因此,如果您有INT(3)
而INSERT
1
,则会获得001
。
在您的情况下,您可能有一个INT(1)
,因此它只是截断您的前导零,因为它们不会影响数字的值 - 仅显示数字。