具有自定义条件的SQLite INSERT或UPDATE

时间:2012-07-11 11:18:53

标签: sqlite insert conditional-statements

我知道有很多问题已经在这个问题上得到了回答,但它们似乎并不适合我的情况。

我有一个远程sqlite数据库 - 数据库服务器 - 以及一个包含相册条目的本地 - 数据库本地数据库本地根据需要从数据库服务器进行更新。 数据库服务器primary key名为identifier,存储在数据库本地中以防止重复,但数据库本地还有自己的primary keyid

如果我需要在手机上创建新相册,请在数据库本地中插入一个条目,identifier设置为-1数据库服务器将被访问请求正确的identifier

我的问题是:我做了很多刷新,不想每次都增加主键。

当我从数据库服务器刷新数据库本地时,我想INSERT个新相册和UPDATE现有相册。

我读到了INSERT OR REPLACE语句,但要求 DB local 中的identifier列设置为unique。不幸的是,我无法这样做,因为我可以将多个identifier设置为-1

有没有办法在单个请求中有条件地执行INSERTUPDATE

谢谢!

编辑:更新以这种方式完成:数据库本地数据库服务器更新。 数据库本地数据永远不会被推送到数据库服务器,添加新项目的唯一方法是在服务器上调用API,这将在上创建一个空条目数据库服务器并获取其identifier。但由于服务器无法始终可访问(EDGE / 3G), DB local 中的某些条目将identifier设置为-1。使用相应的identifier返回API调用后,我们将其存储在 DB local

中的相应条目中,而不是-1

0 个答案:

没有答案