1. ホーム
  2. マイスル

[解決済み】MySQLで自動インクリメントフィールドを持つ行をコピーして同じテーブルに挿入するには?

2022-04-15 12:24:30

質問

MySQL で、行をコピーする際に オートインクリメント column ID=1 挿入 を指定すると、同じテーブルに新しい行としてデータが格納されます。 column ID=2 .

これを1つのクエリで行うにはどうしたらよいでしょうか。

どのように解決するのですか?

使用方法 INSERT ... SELECT :

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

ここで c1, c2, ... を除くすべてのカラムです。 id . 明示的に挿入する場合は id が 2 の場合は、INSERT 列リストと SELECT にそれを含めてください。

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

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