2011-03-27 134 views
1

在數據庫中存儲身份證號碼(8位數字)的最佳方式是什麼?整數或VARCHAR(8)?謝謝。我正在使用PostgreSQL。我應該使用哪種類型在數據庫中存儲身份證?

+1

爲什麼不把'CHAR(8)'作爲選項?他們不總是8位數字嗎?這些數字是否包含前導零或在9999999之後開始?那麼格式在某些時候可能會變成字母數字的概率是多少? – 2011-03-27 01:19:10

回答

0

我將假設MySQL爲這個問題,因爲你沒有說明任何細節。

由於它是一個數值,而不是字符串,我推薦使用a numeric type。您可以通過使用MySQL中最寬的最窄類型(即DECIMAL(8))充分利用空間。

也使列UNSIGNED,並可能使用ZEROFILL

0

無符號整數應該大到足以處理99999999,因爲它的最大值是4294967295。搜索時整數也應該更快,並且也是較小的存儲數據類型。

相關問題