我正在努力想出在rowid处将sqlite表查询到UPDATE OR INSERT
的方法。我的问题是我有一个数据库,该数据库依赖于rowid,但是在填充表时可能没有足够的行。因此表可能如下所示:
rowID data1 data2 data3
------ ------ ----- ------
0 18 1543
1 5
2 35 918
对于我的查询,我希望能够例如在rowID = 16处插入
data2 = 453
。也只是为了指定我没有rowID列。我认为唯一可能的方法是在插入第16行之前从rowID 3-> 15插入空行。对我而言,行是否为空无关紧要,因为它们最终将被填充。我将不会使用超过50行或超过8列的数据,因此这是一个相当小的表。有人知道我工作的前进方向吗?
另外要注意的是,我在Titanium上使用查询,因此编程语言是JavaScript。
最佳答案
documentation说:
可以使用与大小写无关的特殊名称之一“ rowid”,“ oid”或“ rowid”代替列名来访问rowid值。
[...]
INSERT语句可以提供一个值,用作插入的每一行的行标识。
因此,只需指定所需的值即可:
INSERT INTO MyTable(rowid, data2) VALUES(16, 453)