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

TypeScript中如何从对象数组生成单条批量INSERT SQL语句

批量INSERT语句拼接实现方案

核心实现逻辑

不需要循环生成完整INSERT语句,仅需遍历数组生成每个元素对应的数值组字符串,再将所有数值组用逗号拼接后和固定INSERT前缀拼接即可,修正后的代码如下:

public async insert() {
    const dataArr = [{ 
        cod: 'CO',
        file: 'CO_SER.csv',
        exists: 1
    },{ 
        cod: 'ES',
        file: 'ES_INS.csv',
        exists: 1 
    }];

    // 生成每个元素对应的数值片段
    const valueSegments = dataArr.map(elem => {
        return `("${elem.cod}", "${elem.file}", ${elem.exists})`
    });
    // 拼接为完整批量插入SQL
    const insertSql = `INSERT INTO databaseID VALUES ${valueSegments.join(', ')}`;
    // 此处可执行insertSql完成单次插入
}

注意事项

  • 上述代码仅适配当前演示场景,生产环境禁止直接拼接字符串生成SQL,存在SQL注入风险,建议使用项目数据库驱动自带的批量插入API、参数化查询能力,或是TypeORM、Prisma等ORM框架提供的批量写入方法,安全性更高。
  • 新增数组非空判断逻辑,避免数组为空时生成无效SQL语句。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 18:51:00