我正在努力想出在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)

07-24 09:49
查看更多