2010-02-18 52 views
4

我的主要索引是唯一的參考數字,如002345和000023.MySQL的主索引可以是CHAR嗎?

如果我將它們格式化爲整數,我會將其零度。他們需要6位數字。

我可以使用CHAR嗎?我不需要任何自動增量。

回答

5

是的,您可以使用CHAR列作爲MySQL中的主鍵。

但是,您應該考慮將參考數字保留爲整數,並在應用程序級別應用前導0。

您可能還需要考慮使用不是來自參考編號或任何其他應用數據的surrogate key。主要優點是,如果訂單參考編號發生變化,您的記錄不會丟失「處理」。您還將獲得整數索引的額外性能,作爲積極的副作用。

+0

在應用程序級別應用領先的0,您是對的!謝謝丹尼爾。 – FFish 2010-02-18 08:53:21

0

我剛剛在本地MySQL上進行了測試 - 它完美地工作。 但是爲了提升性能,我會選擇整數主索引。

0

可以使用訂單號作爲主鍵。但有一天,您的老闆會給您打電話,告訴您發送給您最重要客戶的訂單號碼是打印爲002346而不是002345,並且他們無法收到付款,直到此錯誤在您的系統中得到解決...

您還應該考慮一個整數主鍵,因爲它可以節省空間,並且連接速度會更快。

相關問題