我有两个使用此代码成功合并的sqlite表;
override func viewDidLoad() {
super.viewDidLoad()
// set delegate
Appodeal.setRewardedVideoDelegate(self)
}
结果:
是的它合并但是,如果我只是像这样更新table2上的一些项目,我不知道如何处理;
正如您可以看到table2中的更新项目。
我想要一些可以处理合并的东西,并且当我更新table2上的某些项目时它只会更新table1而不是添加它们。
答案 0 :(得分:1)
我相信以下内容可以满足您的需求: -
INSERT OR REPLACE INTO table1 SELECT * FROM table2 WHERE id||name NOT IN (SELECT id||name FROM table1);
这基本上添加了OR REPLACE
,它将替换行而不是在UNIQUE或PRIMARY KEY约束冲突上插入行。
WHERE子句略微改为测试id和名称,而不仅仅是名称。
名称基于示例,即table1和table2。
这确实假设ID列是rowid的别名,并且id的管理使它们保持同步。