首页 > 解决方案 > SQL JS 批量插入

问题描述

        
        var elements = [{
            "name": "1",
            "age": 11
        }, {
            "name": "2",
            "age": 22
        }, {
            "name": 3,
            "age": 33
        }, {
            "name": 4,
            "age": 44
        }, {
            "name": 5,
            "age": 55
        }, {
            "name": null,
            "age": 66
        }];
        let vals = elements.map(Object.values).map(a => "(" + a + ")").join(",");


      const insert_into_download_list_table_sql = `INSERT INTO DOWNLOAD_LIST(DOWNLOAD_DATE,COLO) VALUES ${vals}`;
      console.log(insert_into_download_list_table_sql);

即使 sql 格式正确,也会发生错误,所以我不确定它为什么不起作用。

   db.transaction(function (tx) {
          tx.executeSql(insert_into_download_list_table_sql, [],
              function (tx2, results2) {   
                  console.log({results2})
              }, app.onError);
      });

当我运行代码时,我得到一个 sql insert 语句

INSERT INTO DOWNLOAD_LIST(DOWNLOAD_DATE,COLO) VALUES (1,11),(2,22),(3,33),(4,44),(5,55),(,66)

数据库错误:“,”附近:语法错误

  [SqlTransaction] id: 18, connectionId: 1. | Error occured while executing sql: INSERT INTO DOWNLOAD_LIST(DOWNLOAD_DATE,COLO) VALUES (1,11),(2,22),(3,33),(4,44),(5,55),(,66). Error: [object Object]

标签: javascriptsql

解决方案


推荐阅读