0

どういうわけかPKを上げることは可能ですか?約10000から開始する必要があります。phpMyAdminで直接実行できるSQLステートメントはありますか?

編集:私はもう少し明確にする必要があります...

2190を超えるPK(約2000行)ですべての行を更新する必要があります。代わりに約10000から開始するように更新する必要があります...だから、それはある種のプログラミングの質問だと思います...

4

2 に答える 2

4

ドキュメントを引用します。

したがって、問題はいくつかの値のセットを更新することです。さて、これを行う1つの方法があります:

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');

'sがないALTER TABLE... 'f'場合、IDは6になります。それで-10006。

これがこの概念を説明するSQLフィドルです。

于 2012-10-23T08:12:32.917 に答える
1

テーブルがすでに自動インクリメントで作成されている場合。インデックス、使用

ALTER TABLE tbl AUTO_INCREMENT = 10000;
于 2012-10-23T08:13:28.000 に答える