2017-09-12 13 views
0

はのは、私は、MySQL DBレジスタが存在する場合は更新し、そうでない場合は挿入します。 MYSQL

表で、次の表を持っているとしましょう:私は何をしたいか債務

ID | Customer | Amount 
--------------------- 
1 | Peter | $ 80 
2 | John  | $120 

は合計は、特定の顧客のために、既に保留中の一つにお金の新しい金額です。私が今まで行ってきたことは、顧客がテーブルに存在するかどうかを確認するためのSELECTです。そうであれば、前の値と新しい値の和にレジスタを加算して、IUPDATEを登録します。レジスタが存在しない場合はINSERTに進みます。

あなたは私は2つの操作、SELECTUPDATE、またはSELECTととINSERTを使用しています見ることができるように。

私の質問は一回の操作で

+0

データのより堅牢な例、目的のクエリが実行される前の表の外観、およびその後の外観を表示してください。 –

答えて

0

をこれを行う方法がある場合はMySQLがあなたならば私も知らないINSERT INTO table (id, name, amount) VALUES (1, 'Peter', 80) ON DUPLICATE KEY UPDATE;

を使用し、既存のレコードを更新するかを挿入することができないです既存の値を使用して新しい値と合計し、結果を挿入することができます。

おそらくあなたはそのためのトリガーを必要とするだろう...

関連する問題