如何用纯mysql做到这一点?

时间:2009-11-29 19:56:40

标签: mysql

如果存在条件的mysql记录 - 更新它,否则创建新记录

4 个答案:

答案 0 :(得分:5)

这是你要找的吗?

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE c=c+1;

http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

答案 1 :(得分:2)

使用REPLACE代替INSERT。

答案 2 :(得分:2)

您可以REPLACE INTO使用INSERT INTO语法UPDATE。这样,只要存在虚构的约束违规,MySQL就会调用{{1}}。

请注意,此构造是特定于MySQL的,因此无论何时从DB切换,您的查询都无法正常工作。

答案 3 :(得分:1)