これを1つのステートメントで実行したい場合(希望どおりのサウンド)、INSERT ... ON DUPLICATE KEY UPDATEを使用することをお勧めします。 構文は次のとおりです:
INSERT INTO table (id, someothervalue) VALUES (1, 'hi mom')
ON DUPLICATE KEY UPDATE someothervalue = 'hi mom';
最初のINSERT 指定されたキー値(主キーまたは一意)を持つ既存のレコードがない場合、ステートメントが実行されます。レコードがすでに存在する場合は、次のUPDATE ステートメント(someothervalue = 3 )が実行されます。
これは、MySQLのすべてのバージョンでサポートされています。詳細については、MySQLリファレンスマニュアルページを参照してください。 INSERT ... ON DUPLICATE KEY UPDATE