SQLは自動インクリメントを維持するためにIDを再生成します

mysql sql
SQLは自動インクリメントを維持するためにIDを再生成します

私は純粋なSQL(またはMySQL)構文を探していますが、それが可能かどうかはわかりませんが、PHPスクリプトを作成します…​

IDとsomes列という1つの主キーを持つ基本テーブルがあります。 私は他のテーブルに依存していません。

現在、私の行は次のようになっています。

ID   Column1   Column2
22   test      test
26   test2     test2
33   test3     test3
...

次に、順序を維持するためにすべてのIDを再生成します。 例:開始を22に設定しました

ID   Column1   Column2
22   test      test
23   test2     test2
24   test3     test3
...

  2  0


ベストアンサー

そこに行って見てください:https://stackoverflow.com/questions/740358/mysql-reorder-reset-auto-increment-primary-key [自動増分主キーの並べ替え/リセット]

しかし、そこで述べたように、それはあなたがすでに持っている関係を台無しにします。 でも大丈夫じゃないから

ALTER TABLE `table` DROP `id`;
ALTER TABLE `table` AUTO_INCREMENT = 1;
ALTER TABLE `table` ADD `id` int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

6


最も簡単な方法は、目的のauto_increment列を持つ新しいテーブルを作成してから

INSERT INTO myNewTable (column1, column2)
SELECT column1, column2
FROM myOldTable
ORDER BY ID

1


タイトルとURLをコピーしました