我想更新Mysql 5上的表值,但是如果該鍵不存在,請創建它。在MySQL中是否存在「UPDATE value IF IF NO ROT INSERT yyy」?
我發現做到這一點的方法是:
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)?「
謝謝! 我需要增加一個已經在表中的計數器(如果存在的話)。如果不爲此列創建值爲1的表格行。我該如何更新這種格式? – Nir 2009-02-18 15:32:11