是否可以创建查询以在 javascript 中的一个查询中执行多个查询?
Posted
技术标签:
【中文标题】是否可以创建查询以在 javascript 中的一个查询中执行多个查询?【英文标题】:Is it possible to create query to execute multiple queries in one query in javascript? 【发布时间】:2018-09-28 15:24:19 【问题描述】:我想以字符串的形式发送多个查询。 我通过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();
提前致谢。
【问题讨论】:
它们会是插入查询吗? 是的,我想插入多行 【参考方案1】:使用;
代替,
。示例QUERY1;QUERY2;QUERY3
【讨论】:
来自变量的查询。我正在努力删除,【参考方案2】:进行多重插入查询
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
【讨论】:
如果你想组合不同类型的查询,你应该创建一个过程:dev.mysql.com/doc/refman/8.0/en/create-procedure.html它会一次执行所有的查询,你甚至可以做回滚 感谢您的回答。抱歉,我没有提到查询的验证。整个查询需要这样的语句:IF ( NOT EXISTS (SELECT * FROM members where mid = 1111))以上是关于是否可以创建查询以在 javascript 中的一个查询中执行多个查询?的主要内容,如果未能解决你的问题,请参考以下文章
对于表中的行,将行保存在临时表中以在 plpgsql 的选择查询中使用其数据