一条语句插入多条数据

INSERT INTO table_name  
(field1, field2,...fieldN)
VALUES
(valueA1,valueA2,...valueAN),
(valueB1,valueB2,...valueBN),
(valueC1,valueC2,...valueCN),
......;

sql语句如上

代码实现

 //拿到对象数组 如果ID存在需要删除ID
let objValues=objlist.map((item,index)=>{
 let arr=Object.values(item)
arr.unshift(ID)
return arr
})
 let arr = dataArr.map(item => {
        Object.keys(item).forEach(async key => {
          strName = Object.keys(item);
        });
        return Object.values(item);
      });
     let ColumNames= JSON.stringify(strName)
        .replace(/\[/g, "(")
        .replace(/\]/g, ")")
        .replace(/\"/g, "");
 
//将数组改造成(valueA1,valueA2,...valueAN)
let objValuesStr0=JSON.stringify(arr)
let objValuesStrStr1=objValuesStrStr0.slice(1,objValuesStr0.length-1)
let objValuesStrStr2=objValuesStrStr1.replace(/\[/g,"(")
let objValuesStrStr3=objValuesStrStr2.replace(/\]/g,")")
let objValuesStrStr4=objValuesStrStr3.replace(/\"/g,"'")
//插入数据库
const pool = await new sql.ConnectionPool(_this.config.配置。。。).connect();
const request = pool.request()
let sql=`insert into 表 (${ColumNames}) values `+objValuesStr4
await request.query(sql);

 细节说明:

 

posted @ 2020-05-21 10:53  Jennyishere  阅读(288)  评论(0)    收藏  举报