MySQL截断我的第一个零数据

时间:2012-05-11 12:11:01

标签: mysql sql

我有一个MySQL列“手机”,当数据来自我的php表单时,如果开头有零,它将在表格中消失,例如: “ 06719823 ”变为“ 6719823

我首先虽然这是php的一个问题,因为我正在使用mysql_real_escape_string(),但后来我尝试直接在phpmyadmin上修改SQL字段,我不能添加第一个0,它总是删除它。

Colonne     Type     Interclassement    Attributs   Null    Défaut  Extra
phone       int(10)                                 Oui     NULL    

怎么了?我应该指定一个“interclassement” utf8_general_ci 吗?

5 个答案:

答案 0 :(得分:4)

将您的列类型更改为char(10),以获取10位数的电话号码。

答案 1 :(得分:1)

如果列类型是int(整数),数字将在内部表示为整数,这意味着“first 0s”将不会被存储,因为它们对整数没有任何意义。< / p>

由于您实际存储的内容具有一系列字符的含义,而不是数量,因此将其存储为 char(n)<更有意义/ strong>,对于n位数序列,或作为 varchar 用于大小变化很大的序列。

答案 2 :(得分:0)

将手机属性设为Varchar或Text以避免这种情况。

电话号码也可以包含括号和连字符,此外您也可以避免出现问题。

答案 3 :(得分:0)

更改您的数据类型。 Int数据类型不会存储起始0&#39。

您可以按照上面建议的char或varchar

进行尝试

答案 4 :(得分:0)

Integers : 06719823 = 6719823 = 0006719823

如果您想在开头

中保留零,请将手机另存为varchar