【问题标题】:Insert at rowid在 rowid 处插入
【发布时间】:2014-08-04 17:29:12
【问题描述】:

我正在努力想出一个查询 sqlite 表到 rowid 的 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。

【问题讨论】:

    标签: javascript sqlite titanium


    【解决方案1】:

    documentation 说:

    可以使用与特殊大小写无关的名称“rowid”、“oid”或“rowid”之一代替列名来访问 rowid 值。 [...] INSERT 语句可以提供一个值,用作插入的每一行的 rowid。

    所以只需指定你想要的值:

    INSERT INTO MyTable(rowid, data2) VALUES(16, 453)
    

    【讨论】:

    • 即使在第 16 行之前没有 15 行,这也行吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 2012-03-28
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多