MariaDB レコードをコピーしてinsertする
MariaDBで、レコードをコピーしてinsertする手順を記述してます。「INSERT」文の挿入する値にselectして取得した結果を指定することで可能です。
環境
- OS Rocky Linux release 8.4 (Green Obsidian)
- MariaDB 10.6.4
- phpMyAdmin 5.1.1
手順
レコードをコピーしてinsertする場合は、「INSERT」文に、テーブルのデータを「SELECT」した結果使用します。
INSERT INTO テーブル名 (カラム) (select カラム FROM テーブル名 WHERE 条件);
実際に、以下のテーブルのレコードをコピーしてみます。
「id=2」のデータを挿入します。
※「id」はオートインクリメントになっているの挿入される側のテーブルのインクリメント値となります。。
INSERT INTO tbl (name,age) (select name,age FROM tbl WHERE id = 2);
実行結果をみると、「id 6」として挿入されていることが確認できます。
条件の結果に複数のレコードがある場合は、全て挿入されます。
INSERT INTO tbl (name,age) (select name,age FROM tbl WHERE id > 2);
実行結果
-
前の記事
sqlite テーブルからcreate文を取得する 2022.12.09
-
次の記事
javascript JSON.stringifyでMapを扱う 2022.12.10
コメントを書く