这是一个基本的例子。sqlite 文件存储单个项目文件的 kvps:
CREATE TABLE settings (id INTEGER PRIMARY KEY ASC,rel,key,val)
rel
通常与现有id
记录上的 s 相关联,但没有任何特定限制。
此设置表保存诸如key=name, value=Josh
和等设置key=url, value=www.site.com
。我正在使用的 sqlite 实现忽略了执行中的多个查询,并且循环很慢,所以我只能做这样的事情:
REPLACE INTO settings(key, val)
SELECT 'name', 'Vosh' UNION SELECT 'url', 'www.site.com' UNION ...
这通常会将Josh
的名称更新为,Vosh
但它也会设置一个新的 id,从而破坏该特定记录的 id 之间的任何关系,由rel
另一行引用。
我应该如何处理这个?