2013-01-09 18 views
1

如何確保mysql列有4個字符?如何確保mysql列有4個字符

由於使用最少4個字符的MATCH函數,我希望我的主鍵是一個INT至少4個字符。

我該怎麼辦?

例如。 1將0001 SQL表

+0

你將不得不使用VARCHAR。 '0001'作爲int將始終爲'1' – Shmiddty

+2

從1000開始主鍵? –

+0

@SalmanA關於1-999呢? – Madbreaks

回答

1

使用ZEROFILL列的屬性。修改您的主鍵列以啓用zerofill。

試試這個:

ALTER TABLE `tablename` CHANGE 
COLUMN `id` `id` INT(4) ZEROFILL NOT NULL AUTO_INCREMENT ; 
+0

這是最好的答案! – Fxster

0

您可以使用MySQL的LPAD功能:

SELECT LPAD('1',4,'0'); 
    -> '0001' 

Docs here

0

假設您的主鍵是自動遞增的ID。

  1. 暫時取消自動增量。
  2. 將999添加到每個ID。 (當然,如果其他表使用這個ID作爲外鍵,你也必須調整它們)。
  3. 重新添加自動遞增,但要確保它開始於至少1000參見:How to set initial value and auto increment in MySQL?
+1

對於任何生產,建立關係數據庫這可能是不可行的。 – Madbreaks

+0

@Madbreaks。你是絕對正確的。我從這個問題推斷,它可能不是生產的東西。但如果是這樣,忘記我說的話。 – DWright

+0

我正在做這個工作....想嘗試零填充方法 – Fxster

相關問題