SQL查询 - 如果存在更新,则插入,否则插入
问题描述:
我需要为MySQL编写SQL查询,以便行更新(如果存在),但如果不存在则插入。SQL查询 - 如果存在更新,则插入,否则插入
即
如果行存在...
UPDATE Table1 SET (...) WHERE Column1='SomeValue'
如果它不存在...
INSERT INTO Table1 VALUES (...)
这能在一个查询做了什么?
答
我相信你需要扭转你的逻辑,以便为它工作:
插入表 - 如果存在(相同的密钥),然后对其进行更新。
这可以通过ON DUPLICATE
语句,像这样来实现:
INSERT INTO Table1 VALUES(...)
ON DUPLICATE KEY UPDATE column=column+1
检查手册here
非常巧妙。就是我以后的样子。谢谢。 – Urbycoz 2011-03-14 09:58:08
太棒了。虽然这篇文章是旧的,但它是超级有用的。你摇滚。 – kmarks2 2012-02-09 20:18:34