2013-01-09 33 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

相关问题