MySQL Int删除0

Ara*_*ran 1 php mysql integer

嗨,我的数据库中有一列设置为Int.

但是我的数据总是从0开始,所以每当我添加一条新记录时,它都会删除0并且我不希望它做到这一点,因为第一个字符必须在某个时刻为1.

我怎样才能克服这个问题?

使用VARCHAR的最佳方法是使用PHP进行验证吗?

更新

如果我输入02118272,它将以2118272的形式保存到数据库中.

Vot*_*ple 6

整数7与整数相同000000000000000000000000007.他们俩......你知道......七.当存储在数据库中时,它实际上存储为类似的东西,000000000000000000000000007但大多数MySQL客户端都不会费心去显示所有这些零.

如果在您的应用程序中使用一定数量的数字显示这些数字很重要,您可以使用该str_pad()函数添加任意数量的前导零:

str_pad($your_string, 10, '0', STR_PAD_LEFT);
Run Code Online (Sandbox Code Playgroud)

这里,10你想要字符串的长度是,'0'为了使它成为那个长度而STR_PAD_LEFT添加的字符,并且说要在字符串的左侧添加字符.

另一方面,如果数字与数字'007'根本不同'7',那么您将不得不使用VARCHAR()字段来存储它.那些不再是整数; 它们是具有非常不同含义的字符串.

  • 当然它在数据库中有前导零.数字7将存储为"00000000000000000000000000000111":一个32位整数,带有29个前导零.当然,它们不是**十进制**零,但概念完全相同. (2认同)