是否可以创建查询以在javascript中的一个查询中执行多个查询?

时间:2018-09-28 15:24:19

标签: javascript sql execution

我想将多个查询作为字符串发送。 我通过javascript将结果作为对象返回。 但是,由于查询之间存在“,”,因此出现错误。 我无法删除查询之间的“,”。

    "INSERT INTO  membership ( userId,roleId,groupId )
    VALUES (5,1,5),
    INSERT INTO  membership ( userId,roleId,groupId )
    VALUES (5,1,4),
    INSERT INTO  membership ( userId,roleId,groupId )
    VALUES (5,1,5)"

是否可以在一个查询中执行多个查询?

这是我返回字符串的javascript代码。

var objArray = [];
for (var i =0; i< obj.length ;i++) {
objArray.push( " INSERT INTO membership(id,userId,roleId,groupId) VALUES (" 
obj[i].id + "," +  obj[i].userId  + "," + obj[i].role + "," + obj[i].group + 
")");
 } 
 return objArray.toString();

先谢谢了。

2 个答案:

答案 0 :(得分:0)

使用;代替,。示例QUERY1;QUERY2;QUERY3

答案 1 :(得分:0)

进行多次插入查询

var beforeQuery = 'INSERT INTO membership(id,userId,roleId,groupId) VALUES ';
var qvalues = [];
for (var i=0; i<obj.length; i++) {
   qvalues.push('(' + obj[i].id + ',' + 
   obj[i].userId  + ',' + 
   obj[i].role + ',' + 
   obj[i].group + ')');
} 

var query = beforeQuery + qvalues.join(",");
// result would be something like:
// INSERT INTO membership(id,userId,roleId,groupId) VALUES (1,2,3,4),(3,5,3,6),(2,5,19,2);

// execute query here with query variable, all rows will be inserted with a single query