我试图删除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
});
因此,我基本上试图找到其列值与我的数组中的对象中的值匹配的行。我认为我的问题是我的查询语句不一定要比较这些值,或者我解决这个问题的逻辑是不正确的。
查询语句应该是什么,或者我应该采用另一种方式?
谢谢。
答案 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
});