MySQL插入表中,00001自动转换为1

时间:2014-10-14 13:45:08

标签: mysql sql

我有一个列id为INT(11)的表。当我这样做时:

insert into table (id) VALUES ('00001');

它将它转换为1.我不介意这种行为,但我想知道这是否会在未来版本的mysql中发生变化。是否有文件或原因说明这有效?

1 个答案:

答案 0 :(得分:3)

这是因为列上的ZEROFILL标志。如果设置了标志,它会将零添加为数字填充,以便它们满足总宽度"数量。因此,如果您有INT(3)INSERT 1,则会获得001

在您的情况下,您可能有一个INT(1),因此它只是截断您的前导零,因为它们不会影响数字的值 - 仅显示数字。

What is the benefit of zerofill in MySQL?