SQLite 查询插入记录如果不存在

标签 sqlite

如果实际上没有插入,我想将记录插入到 sqlite 表中。

假设它有三个字段 pk, name, address

如果之前没有添加该名称,我想插入带有该名称的新记录。

我们可以在单个查询中完成此操作吗?有时它似乎与 SQL 查询略有不同。

最佳答案

是的,您可以通过单个查询来做到这一点。

INSERT ON CONFLICT IGNORE 应该可以帮助您:http://www.sqlite.org/lang_conflict.html

在名称上放置一个唯一的键,如果名称已经存在,这将在您尝试插入记录时产生冲突。

默认是 ABORT,所以如果没有 IGNORE,语句将返回一个错误。如果您不想这样,请使用 IGNORE。

关于SQLite 查询插入记录如果不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2779823/

相关文章:

c - 在 C 中同步查询 SQLite 数据库

sql - SQLite IN 子句上的 COLLATE NOCASE

linux - sqlite3 .dump 在转储中插入替换函数(从 3.18 更改为 3.19)

android - 在 SQLite 中选择有限制的随机行

android - 如何禁用 Android SQLite 日志文件?

mysql - 迁移sqlite到mysql(guid类型问题)

java - 从 Blackberry 中的 SQlite 中错误检索西类牙语文本

sqlite - SQLite 支持哪些连接?

delphi - TFDQuery 和 SQLite : Type mismatch for field, 期望:LargeInt 实际:WideString

iphone - iOS 网络服务 xml 帮助