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

SQLite中如何遍历集合批量插入数据?现有语句仅插入单行

在SQLite中批量插入多行数据的解决方法

嗨,我来帮你搞定这个问题!你当前的语句只插入一行的原因是:你用了一个标量子查询 (SELECT name FROM skill_point_type),如果skill_point_type表有多行数据,这种写法要么会触发SQLite报错(因为子查询返回了多个值,无法作为单个列的取值),要么只会返回第一行的name值,所以最终只插入了一条数据。

要实现为每个skill_point_type都插入一行数据,你只需要直接从skill_point_type表中查询数据,同时将固定值('hat'和0)作为另外两列的值即可,不需要嵌套子查询。正确的SQL语句如下:

INSERT INTO skill_points (skill_point_type_name, player_name, skill_points)
SELECT name, 'hat', 0 FROM skill_point_type;

补充小提示:

  • 如果只想插入skill_point_type表中符合特定条件的记录,可以添加WHERE子句进行过滤,比如:
    INSERT INTO skill_points (skill_point_type_name, player_name, skill_points)
    SELECT name, 'hat', 0 FROM skill_point_type WHERE name IS NOT NULL;
    
  • 执行插入前,你可以先单独运行SELECT name, 'hat', 0 FROM skill_point_type;来预览将要插入的数据,确认无误后再执行插入操作。

内容的提问来源于stack exchange,提问作者George R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:06:33