我有一个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 吗?
答案 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