以下のような構造のテーブルがあります。
create table test_table (id INT NOT NUll AUTO_INCREMENT
, name varchar(100),
primary key (id))ENGINE=INNODB
Select * from test_table;
id name
1 a
2 b
3 c
ここで、IDを数値でインクリメントしたいとします。たとえば2とすると、最終結果は次のようになります。
Select * from test_table;
id name
3 a
4 b
5 c
私がそれを行う方法は、最初にPKを削除して自動インクリメントし、次にテーブルを更新することです。
update test_table set id=id+2;
もう1つの方法は、PKと自動インクリメントを使用せずに一時テーブルを作成し、その結果をメインテーブルに抽出することです。
テーブル構造を破壊せずにこれを行う他の方法はありますか?私はMYSQLを使用しています。