是否有可能以某种方式增加PK? 我需要让它从大约10000开始。是否有一些sql语句我可以直接在phpMyAdmin中执行?
编辑: 我需要更清楚......
我需要更新PK超过2190(约2000行)的所有行。需要更新它们以大约10000开始......所以我确实认为这是某种编程问题...
答案 0 :(得分:3)
引用the doc。
所以问题是更新一些值。嗯,这是一种方法:
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说明了这个概念。
答案 1 :(得分:1)
如果您的表已经使用auto-incr创建。索引,使用
ALTER TABLE tbl AUTO_INCREMENT = 10000;