MySQL で行をコピーして、自動増分フィールドを持つ同じテーブルに挿入するにはどうすればよいでしょうか? 質問する

MySQL で行をコピーして、自動増分フィールドを持つ同じテーブルに挿入するにはどうすればよいでしょうか? 質問する

MySQL で、自動増分 を使用して行をコピーしcolumn ID=1、同じテーブルに新しい行としてデータを挿入しようcolumn ID=2としています。

これを 1 つのクエリで実行するにはどうすればよいですか?

ベストアンサー1

使用INSERT ... SELECT

insert into your_table (c1, c2, ...)
select c1, c2, ...
from your_table
where id = 1

c1, c2, ...を除くすべての列はどこにありますかid。 2 の を明示的に挿入する場合はid、それを INSERT 列リストと SELECT に含めます。

insert into your_table (id, c1, c2, ...)
select 2, c1, c2, ...
from your_table
where id = 1

idもちろん、2 番目のケースでは 2 が重複する可能性があることに注意する必要があります。

おすすめ記事