You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLite中如何在确认表为空后插入多行数据?

在SQLite中确认表为空后插入多行数据的实现方法

你可以基于原单行方案的思路,通过NOT EXISTS判断表是否为空,结合UNION ALL拼接多行数据源来实现批量插入,以下是两种常用场景的代码示例:

插入固定多行值

如果要插入的是预先定义好的多行数据,用UNION ALL把多个单行SELECT语句组合起来,作为插入的数据源:

INSERT INTO your_table (column1, column2, column3)
SELECT 'value1_1', 'value1_2', 'value1_3'
UNION ALL
SELECT 'value2_1', 'value2_2', 'value2_3'
UNION ALL
SELECT 'value3_1', 'value3_2', 'value3_3'
WHERE NOT EXISTS (SELECT 1 FROM your_table);
  • 外层的WHERE NOT EXISTS (SELECT 1 FROM your_table)会先检查表是否为空,只有空表时才执行插入操作
  • 使用UNION ALL而非UNION来拼接数据,避免不必要的去重操作,提升效率
  • 要保证每个SELECT的列数、数据类型和目标表的列完全匹配

从其他表批量插入

如果要插入的数据来自另一个表,直接在SELECT中查询源表数据即可:

INSERT INTO target_table (target_col1, target_col2)
SELECT source_col1, source_col2
FROM source_table
WHERE NOT EXISTS (SELECT 1 FROM target_table);

这种写法会在目标表为空时,将源表的指定数据批量插入到目标表中。

内容的提问来源于stack exchange,提问作者Abdulkerim Awad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 15:57:05