我正在为iPhone编程,我正在为我的app使用SQLITE DB.我有一种情况,我想在表中插入记录,只有先前不存在记录.否则不应插入记录.
我怎么能这样做?请任何机构建议我一个合适的查询.
谢谢你们所有人,
dan*_*oel 11
查看SQLite的INSERT页面http://www.sqlite.org/lang_insert.html.
您可以使用以下语法执行此操作
INSERT OR IGNORE INTO tablename ....
Run Code Online (Sandbox Code Playgroud)
例
INSERT OR IGNORE INTO tablename(id, value, data) VALUES(2, 4562, 'Sample Data');
Run Code Online (Sandbox Code Playgroud)
注意:您需要在表列上具有唯一标识行的KEY.只有在尝试插入重复的KEY时INSERT OR IGNORE才会插入新行.
在上面的示例中,如果您有一个KEYon id,则id = 2不会插入另一行.
如果你KEY只有id and value一个组合id = 2 and value = 4562将导致不插入新行.
简而言之,必须有一个唯一标识ROW的密钥,然后数据库才知道存在重复,不应该被允许.
否则,如果你没有KEY,你需要去SELECT,然后检查一行是否已经存在,路由.但是,无论您在列上使用哪种条件,都可以将它们添加为KEY表格,只需使用INSERT OR IGNORE
在SQLite中,无法对表进行更改并添加UNIQUE或PRIMAY KEY之类的约束.为此,您需要重新创建表.请参阅sqlite.org http://sqlite.org/faq.html#q11上的此常见问题解答
| 归档时间: |
|
| 查看次数: |
5628 次 |
| 最近记录: |