我想更新 Mysql 5 上的表值,但如果键不存在,请创建它。
我发现这样做的方法是:
INSERT yyy ON DUPLICATE KEY UPDATE field;
问题是:上述格式是否比其他方法效率低(因为插入只会发生一次并且更新会经常发生)?
例如:
$result = UPDATE field;
if (num_rows_effected($result)==0) INSERT yyy
此外:在 Mysql 中有没有更好的方法来做到这一点:例如一种:
UPDATE value IF NO SUCH ROW INSERT yyy;
更新:对于那些建议更换的人,这里是我的问题的扩展:“谢谢!我需要增加一个已经在表中的计数器(如果它存在)。如果没有为该列创建一个值为 1 的表行。如何使用这种格式进行更新(REPLACE)?”