【问题标题】:Is there a row limit when using a SQLite's INSERT INTO with SELECT query?将 SQLite 的 INSERT INTO 与 SELECT 查询一起使用时是否有行限制?
【发布时间】:2015-12-26 00:47:39
【问题描述】:

我正在将一个数据库 (B) 附加到另一个数据库 (A) 并尝试通过执行以下操作在 A 中填充一个空表:

INSERT INTO table SELECT * FROM B.table

SQLite's documentation 提到了这一点,但没有提及对 SELECT 语句返回的行数(或在此特定场景中可由 INSERT 语句处理)的任何限制。

这个行数是否有任何限制,或者我可以假设 SELECT 查询返回的所有行都确实会被插入? (请注意,我不是在寻找复制数据的替代方法,我只是想知道我是否会在这里遇到任何意想不到的限制)

【问题讨论】:

    标签: sqlite insert bulkinsert


    【解决方案1】:

    没有限制,除了SQLite的一般限制,可以在这个页面看到:https://www.sqlite.org/limits.html,例如:

    表中的理论最大行数为 2^64(18446744073709551616 或大约 1.8e+19)。由于将首先达到 140 TB 的最大数据库大小,因此无法达到此限制。一个 140 TB 的数据库最多可以容纳大约 1e+13 行,并且只有在没有索引且每行包含非常少数据的情况下。

    而且由于您是从 SQLite 表中获取行,因此没有实际限制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 2011-10-15
      • 1970-01-01
      相关资源
      最近更新 更多