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