如何以4位数格式自动增加MySQL?
那么代替'1'制作'0001'?
尝试将ZEROFILL属性添加到字段中.
你可以把它作为一个整数保留,并在你的SQL中为人类格式化,例如,用零填充到4个字符宽
select lpad(idcolumn,4,'0') from mytable;
或者在声明表时使用zerofill并指定所需的宽度:
create table tmpfoo ( mykey int(6) zerofill not null auto_increment, primary key(mykey) ); insert into tmpfoo values(1),(2); select * from tmpfoo; +--------+ | mykey | +--------+ | 000001 | | 000002 | +--------+
MySQL支持整数列上的ZEROFILL:
mysql> create table foo (the_key int unsigned zerofill not null auto_increment primary key); Query OK, 0 rows affected (0.21 sec) mysql> insert into foo SET the_key = Null; Query OK, 1 row affected (0.00 sec) ... mysql> insert into foo SET the_key = Null; Query OK, 1 row affected (0.00 sec) mysql> select * from foo; +------------+ | the_key | +------------+ | 0000000001 | | 0000000002 | | 0000000003 | | 0000000004 | | 0000000005 | | 0000000006 | | 0000000007 | | 0000000008 | +------------+ 8 rows in set (0.00 sec)
您可能需要考虑使用smallint(5位数)或修剪/填充.
如果你需要零填充格式的auto_increment列,我建议你这样显示它,而不是试图以这种方式将它存储在数据库中.
在PHP中,您可以使用以下代码来显示或以其他方式使用id:
$padded_id = str_pad($id, 4, '0');