2013-10-11 36 views
-1

如何將00而不是0存儲爲mysql中的整數字段爲DEFAULT?如何將00而不是0存儲爲mysql中的整數字段爲DEFAULT?

我沒有00作爲默認值,但它只是存儲0

+0

如果數字都小於100,那麼您可以將該列設置爲'TINYINT(2)UNISNGED ZEROFILL' - 但是這會導致像'01','02'這樣的值,所以請確保這是你在做之前要做的事情;) –

+1

整數值沒有前導零,沒有 - 否則它們不會是整數。 (並且zerofill實際上並不存儲前導零,它只是使_selected_值爲零。) – CBroe

+0

不,數字會很大,但是如果它以00,01,02開頭,它將起作用。...... – Aayush

回答

3

整數可以從未被存儲爲「00」,因爲它總是會被評估爲0(零)。

使用您的字段的VARCHARCHAR類型來保證值的這種表示形式。

如果您希望您的網站/應用程序在您的號碼前顯示前導零,您可以在str_pad()的幫助下使用PHP處理此問題。

+0

+1像silkfire所暗示的那樣,將數據和數據顯示分開是一個好主意。 –

1

由於00不是整數,所以不能在整數類型的列中存儲00

您可以格式化整數0出現就好像它是00,但不會更改其值。

0

保持數字存儲爲整數。

然後使用函數LPAD()來顯示數字(左)用零填充:

SELECT LPAD(0, 2, '0') AS padded; 

| padded | 
----------- 
|  00 | 

如果ZEROFILL字符的數量是可變的,在表中添加另一列與(ZEROFILL)長度。

相關問題