在非主键列上指定Autoiuncrement Column的默认起始值​​?

时间:2014-03-19 15:36:34

标签: mysql auto-increment default-value

我有一个包含许多列的MySQL数据库表。主键是PKEY,非主键列之一是USERID。此列设置为autoincrement&它不是主键。我还想设置一个默认的起始值1000,这样对于行插入,它将开始递增为1000,1001,1002等......我怎样才能实现这一点?

由于

1 个答案:

答案 0 :(得分:1)

只能有一个自动增量列,但它可以是任意列。我假设它现在是你的PKEY字段,所以删除它意味着你需要手动创建一个唯一的PKEY来保持它作为你的主键。

alter table tablename modify PKEY int(11) unsigned NOT NULL;
alter table  tablename add index (USERID);
alter table  tablename modify USERID int(11) unsigned NOT NULL AUTO_INCREMENT;
ALTER TABLE tablename AUTO_INCREMENT = 1000;

一个新的创作看起来像这样:

CREATE TABLE `foo` (
  `PKEY` int(11) unsigned NOT NULL,
 `USERID` int(11) NOT NULL AUTO_INCREMENT,
 PRIMARY KEY (`PKEY`),
 KEY `USERID` (`USERID`)
) ENGINE=InnoDB  AUTO_INCREMENT = 1000;

但是,我建议您将USERID作为主键