MySQL 5.1.41前导零被删除

时间:2010-04-26 07:35:55

标签: mysql

我有一个MySQL数据库,我想在其他地方存储电话号码。

字段类型为INT(10)

当我尝试插入一个以0开头的数字时,如0504042858,它存储为504042858.这只发生在前导零的电话号码上。当数字以任何其他数字开头时,它会被正确存储。

我做错了什么?

3 个答案:

答案 0 :(得分:5)

您应该将电话号码存储为varchar。电话号码只是偶然的数字。

您可能还有兴趣查看以下Stack Overflow帖子:

答案 1 :(得分:2)

您可以使用属性值 UNSIGNED_ZEROFILL 指定长度 INT(11)。它将填充所有11位数字,如果任何数字长度小于11,它将在值之前自己添加零。 这可能会解决您的问题。

答案 2 :(得分:1)

它正在删除前导零,因为它们在数学上是相同的并且删除前导零是快速存储优化。此外,它还使数字更容易阅读,想象一个数字填充数百个数字的列中的几个前导零。

我同意Daniel将您的专栏更改为varchar。