2013-03-31 75 views
3

我該如何做。這裏是我的code`如果記錄已存在,則更新,但如果記錄不存在則插入

$insert = "REPLACE INTO drinks SET 
name='".$name2."', category=' ".$category2." ', date=CURDATE()"; 
if (@mysql_query($insert)) { 
echo '<h4 class="alert_info">Drinks added</h4>'; 
} else { 
echo 'Error adding event: ' . 
mysql_error() . ''; 
} 
+0

有幾種方法,記錄是否存在,或者它不存在。 –

+0

什麼是你的「飲料」餐桌結構?哪些列是索引? – JoLoCo

回答

5

一般情況下,你正在尋找的被稱爲「upsert」(即更新或插入)。從這個鏈接顯然是MySQL的語法是:

INSERT ...對重複密鑰更新

隨着more info from the MySql manual

+0

MERGE INTO TABLE_NAME USING table_reference ON(condition)...我不理解這條線我應該使用wat作爲表參考,我應該放什麼(條件) –

+0

好,我從來不知道這件事。我只是更新,測試錯誤,如果沒有插入。 –

+0

那麼MySQL手冊有如下例子:'INSERT INTO table(a,b,c)VALUES(1,2,3) ON DUPLICATE KEY UPDATE c = c + 1;'所以下面的更新放在那裏怎麼辦記錄已經存在,因爲如果沒有,它會像普通的'INSERT'語句那樣對待 – ArtB

相關問題