【发布时间】:2016-08-15 04:25:25
【问题描述】:
试图围绕这一点。我将数据发布到 SQLite 数据库,如果记录不存在,我想插入记录,如果满足某些要求(基本上如果一个字段已更改值)更新现有记录。不确定如何做这样的事情。我已经看到使用 ON DUPLICATE KEY 的示例,但是当有重复时基本上会更新记录。我还需要在更新前检查更改。
有什么想法吗?
【问题讨论】:
-
实际上并没有“条件插入”之类的东西。插入查询没有
where子句,而on duplicate key update ...业务几乎可以使它成为有条件的。 -
为什么只需要在字段改变值的情况下更新?如果您更新并且它没有更改值,那不会什么都不做吗?
-
@Chris 我认为他的意思是如果 A 列的值发生变化,他只想更新 B 列。
-
@Barmar 好的,在这种情况下,最好的方法似乎是只使用应用程序逻辑而不是制作一个相当糟糕的 SQL 查询。
-
SQLite 没有
ON DUPLICATE KEY,见stackoverflow.com/questions/23622504/…