【问题标题】:How to insert X amount of rows at the beginning of a pre-existing table of data in sqlite如何在sqlite中预先存在的数据表的开头插入X行
【发布时间】:2010-08-07 16:44:16
【问题描述】:

我对 SQL 比较陌生,所以我有一个关于插入的问题。

我有一张数据表,我需要将其导入另一个表的现有内容。例如,我引入的表有 100 行,而我引入数据的表有 100 行。

我需要使我要引入新数据的表有 200 行,并且前 100 行为空白(这样我就可以用我的新内容更新这些行)。

有没有一种我只是想念的简单方法来做到这一点?谢谢你的帮助!!

【问题讨论】:

    标签: sql sqlite sql-update sql-insert


    【解决方案1】:

    认为数据库只是一个数据存储。如何订购应取决于客户或呼叫者。通常最好的方法是在SELECTing 时使用ORDER BY 子句。

    因此,我建议不要担心 RDBMS 是如何存储数据的,而是要担心它是如何被提取的。

    您可能专注于保持/维护秩序的列或属性。也许是日期或数字?考虑在您的 ORDER BY 中使用该列,并记住您可以在排序中使用多个列。

    我们不应该依赖数据的存储方式以供日后展示。

    /* use SQLite's current_time to save when these records were created*/
    INSERT INTO MyTable (Foo, Bar, CreatedOn)
       SELECT Foo, Bar, current_time
       FROM OtherTable
    

    【讨论】:

    • 没错。即使您先插入记录,也不能保证在内部,数据库首先在硬盘驱动器上订购了这些...(这就是为什么偶尔需要重建索引的原因。)顺序仅在检索数据时确定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-02
    • 2012-03-10
    • 1970-01-01
    • 2013-08-06
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多