我有一个包含很多列的 MySQL 数据库表。主键是 PKEY,其中一个非主键列是 USERID。此列设置为自动增量且不是主键。我还想将默认起始值设置为 1000,以便在插入行时它会开始递增为 1000、1001、1002 等...我该如何完成此操作?
谢谢
最佳答案
自增列只能有一个,但可以是任意一个。我假设它当前是您的 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 设为主键
关于mysql - 在非主键列上为 Autoiuncrement 列指定默认起始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22510840/