2013-08-16 104 views
0

我如何告訴phpmyadmin,MySQL允許在電話號碼前面的第一個0? (不是零填充)前0消失?

  • 當我試圖把一個零(在phpmyadmin中),它會自動刪除它。
  • 當我提交我的表單號碼與數字前面指定的0不添加它。

是否有解決方法或什麼?

+2

表中的列類型是什麼? – andrewsi

+0

也許你正在使用整數類型而不是字符串,或者格式化是關閉的。 – jrafferty

+0

列類型是整數 – TreeID

回答

8

mysql2016中的INT數據類型存儲了一個整數。正如您對任何編程語言中的整型數據類型所期待的那樣,數據庫引擎會修剪任何前導零並舍入任何小數點,使其不適合存儲電話號碼。

如果電話號碼中的位數始終相同,請改爲使用數據類型CHAR(length),或者如果不使用數據類型VARCHAR(max_length)。這些將存儲輸入的確切值,而不是整數值。

0

或者,您可以將PHONE保留爲'int'格式,並在選擇時添加前導零。

像這樣:

select right('0000000000'+convert(varchar(10), PHONE), 10) 

- 如果您的電話號碼有超過10個數字,你相應地調整

1

存儲時,可能在前面的0,使用VARCHARCHAR數據編號類型。電話號碼,郵政編碼,產品SKU是您應始終使用非數字變量類型的主要示例。