2009-03-16 14 views
0

カラムがabcのテーブルに行がたくさんあります。私はa = 1と言うすべての行を選択し、a = 2でそれらを再挿入できるようにしたいと思います。列が存在するすべての行を本質的に保持し、行の新しいバッチを= 2として持つ。このような複数のINSERTクエリを確立する最良のクエリは何ですか?これはすべて同じテーブルで起こっています。それが必要な場合は一時的なものを使用しても構いません。MySQLのクエリ(selectとinsertを混ぜて)

答えて

9

簡単です。

INSERT INTO mytable 
(a, b, c) 
SELECT 2, b, c 
FROM mytable 
WHERE a = 1 
+0

次の構文を使用して、無限ループを作成し、任意の危険性はありますか? – nickf

+0

あなたが挿入しているもの(a = 2)と選択しているもの(a = 1)との間にはクロスオーバーはありませんが、そのように動作するとは思われません。あなたの選択。 – cletus

2
insert into table1 (col1, col2, col3) select col1, col2, 2 
    from table2 where col3 = 1 
関連する問題