Mysql 5でテーブル値を更新したいのですが、キーが存在しない場合は作成してください。
私がそれをすることを見つけた方法は次のとおりです:
INSERT yyy ON DUPLICATE KEY UPDATE field;
問題は:上記の形式は他の方法よりも効率が悪いですか(挿入は1回だけ行われ、更新は非常に頻繁に行われるため)?
例えば:
$result = UPDATE field;
if (num_rows_effected($result)==0) INSERT yyy
さらに:Mysqlでこれを行うためのより良い方法はありますか:たとえば、次のようなものがあります:
UPDATE value IF NO SUCH ROW INSERT yyy;
更新:REPLACEを提案した人のために、これが私の質問の拡張です:「ありがとう!すでにテーブルにあるカウンターを増やす必要があります(存在する場合)。そうでない場合は、この列に値1のテーブル行を作成します。この形式(REPLACE)で更新するにはどうすればよいですか?」