添加一个从 1001 开始自动递增的 PRIMARY KEY

Add a PRIMARY KEY that auto increments starting with 1001

这是我使用的代码:

ALTER TABLE `event_all_copy` 
ADD `id` INT(5) AUTO_INCREMENT = 1001 PRIMARY KEY;

我收到以下错误:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AUTO INCREMENT = 1001 PRIMARY KEY' at line 1

如果我省略 AUTO_INCREMENT = 1001,代码将 运行 正常。如果我添加 id 然后更改它:

ALTER TABLE event_all_copy AUTO_INCREMENT = 1001; 

它不会更改现有值。

定义 table 结构后试试这个:

ALTER TABLE tablename AUTO_INCREMENT = 1000;

您需要更改 table 让它从 1000 开始:

ALTER TABLE `event_all_copy` AUTO_INCREMENT = 1000;

因此您的查询将是:

ALTER TABLE `event_all_copy` ADD `id` INT(5) PRIMARY KEY;
ALTER TABLE `event_all_copy` AUTO_INCREMENT = 1000;

ADD 查询中不能有 AUTO_INCREMENT 值。这两个查询应该是两个独立的查询。要更改现有值,这很容易。你可以这样做:

UPDATE `event_all_copy` SET `id` = `id` + 1000;

AUTO_INCREMENT 更新的值将仅为新输入的记录设置。