在MySQL中使用Node.js和Express.js删除给定一组值的多行

时间:2017-04-03 06:23:04

标签: javascript mysql arrays node.js express

我试图删除MySQL表中与数组中的多个值匹配的多行。

以下是我尝试的一个例子:

const query = 'DELETE FROM example_table WHERE (a_id AND b_id AND c_id) IN ?';
const values = [
      { a_id: 1, b_id: 2, c_id: 3},
      { a_id: 4, b_id: 5, c_id: 6},
      { a_id: 7, b_id: 8, c_id: 9}
     ];

connection.query(query, values, function(err, results) {
     // do something
});

因此,我基本上试图找到其列值与我的数组中的对象中的值匹配的行。我认为我的问题是我的查询语句不一定要比较这些值,或者我解决这个问题的逻辑是不正确的。

查询语句应该是什么,或者我应该采用另一种方式?

谢谢。

1 个答案:

答案 0 :(得分:0)

const query = 'DELETE FROM example_table WHERE a_id in (?) and b_id in (?) AND c_id IN (?)';
const values = [
      { a_id: 1, b_id: 2, c_id: 3},
      { a_id: 4, b_id: 5, c_id: 6},
      { a_id: 7, b_id: 8, c_id: 9}
     ];

connection.query(query, values, function(err, results) {
     // do something
});