フィールド 'seq'で順序付けられた、多くの行を含むテーブルがあります。 私は6-9行を選択しており、例えば3行目にコピーして貼り付けたいと思います。 そのために私は次のことを行いSQLクエリを作成したいと思います:コピー - MySQLを使用して行をペーストするINSERT INTO
INSERT INTO my_table (seq, field1, field2....)
SELECT seq, field1,field2..
FROM my_table
WHERE id IN (234, 233,232)
(idフィールドは、私の選択した行を識別し、自動インクリメントフィールドです)。
今、私はテーブルに行を複製することができました。欠けている何 は正しく、次のように「配列」フィールドを更新することです:
- 貼り付ける場所では(3)私の行は値3,4,5が含まれている必要があります。
- 元の行(seq = 3)が(seq = 6)になり、すべての行が3行下に移動するように、その位置のすべての元の行を3つ増やす必要があります。
これはSQLクエリで実現できますか?
私は一時テーブルにコピーし、次に、my_tableの上書きを更新することでこれに取り組むと思います。このようにして、私は自動インクリメントをつぶすつもりはありません。 –
いいえ、1つのステートメントで挿入と更新を実行することはできません。 –