我需要为 MySQL 编写一个 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
关于mysql - SQL查询-如果存在则更新,否则插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5296946/