2011-08-04 17 views
0

私はテーブルの複数の行を1回の呼び出しで挿入/更新できるようにしたいと考えていますが、データベースにプッシュしているデータは新しいものである可能性があります。基本的に私はテーブルの列をa、b、cです。 a、bはユニークです。既存のテーブルのように見える場合MySQLで「挿入または更新する」方法はありますか?

だから:

a|b|c 
----- 
1|1|1 
1|2|3 

私は

INSERT INTO tbl (a,b,c) VALUES (1,1,2), (2,3,4), (5,6,7) ON DUPLICATE KEY UPDATE c=c; 

ような何かが仕事と期待していたが、それだけで使用する

INSERT INTO tbl (a,b,c) VALUES (1,1,2), (2,3,4), (5,6,7); 

のようなものをやってみたかったですDBに現在ある 'c'。同じ値を得るために新しい値をcや他の方法で使うように指示する方法はありますか?この例では3つの値を使用していますが、実際には20-30が使用されるため、可能であればループを繰り返す必要はありません。

私はすべての値をループすることでどのように達成できるのかを知っているので、単一の、またはn + 1かそれ以下のクエリで可能であるかどうかに関するガイダンスが本当に必要です。

答えて

関連する問題