是否有可能以某种方式增加PK?我需要让它从大约 10000 开始。是否有一些我可以直接在 phpMyAdmin 中执行的 sql 语句?
编辑:我需要更清楚一点......
我需要更新 PK 超过 2190 的所有行(大约 2000 行)。需要更新它们以从大约 10000 开始......所以我相信这是某种编程问题......
引用文档。
所以问题是关于更新一组值。好吧,这是一种方法:
UPDATE some_table
SET some_pk = 10000 + some_pk
WHERE some_pk > 2190
不过,您必须遵循ALTER TABLE tbl AUTO_INCREMENT = 10000
; 否则在此 UPDATE 之后插入的所有行仍会获得旧的 auto_increment。例如:
CREATE TABLE t (id INT AUTO_INCREMENT NOT NULL, s VARCHAR(5), PRIMARY KEY (id));
INSERT INTO t (s) VALUES ('a'), ('b'), ('c'), ('d'), ('e');
UPDATE t SET id = id + 10000 WHERE id > 3;
ALTER TABLE t AUTO_INCREMENT = 10000;
INSERT INTO t (s) VALUES ('f');
没有ALTER TABLE...
'f'
的 id 将是 6;有了它 - 10006。
这是说明此概念的SQL Fiddle 。
如果您的表已经使用自动增量创建。索引,使用
ALTER TABLE tbl AUTO_INCREMENT = 10000;