MySQL 問題: 當某行不存在時增加,存在時更新?

0 投票
最新提問 5月 28, 2015 用戶: NathanWu (200 分)  

我有個 Mysql table:

 id    name    price

我想要增加新的資料,但是如果新的資料已經存在,就修改 price

是否一定要先檢查某 id 是否存在,再來決定 insert 或者 update?

1個回答

0 投票
最新回答 9月 7, 2015 用戶: popoChou  

您可以嘗試這個語法

INSERT ... ON DUPLICATE KEY UPDATE

MySQL INSERT ... ON DUPLICATE KEY UPDATE Syntax

假定您的主鍵是id,您可以嘗試這樣撰寫query

INSERT INTO table (id, name, price) VALUES(1, "A", 100) ON DUPLICATE KEY UPDATE name=VALUES(name), price=VALUES(price)

建議您參考Stack Overflow - Insert into a MySQL table or update if exists

歡迎來到全民 Coding ,有什麼問題請在這裏提問,你將會收到大家的回答。

注意:若輸入程式碼,每一行前面空 4 格(這樣格式才不會亂掉)。
...