用于筛选的MySQL查询

gkl3eglg  于 2022-10-31  发布在  Mysql
关注(0)|答案(1)|浏览(145)

我想在MySQL中编写一个用于过滤的查询。例如,如果表table1中有一列id,其中id的过滤器值来自POST请求主体,保存在变量A中。如果A不为空,我希望提取匹配的行,否则返回所有行。我不确定是否要将INWHERE一起使用。
SELECT * FROM table1 WHERE id IN (A)
一种选择是返回数据库中的所有行并使用JavaScript过滤器,但我不想返回所有行并将整个表公开给用户。

注意:A可以是单个值、元组或数组。

lrpiutwd

lrpiutwd1#

如果您使用javascript,请使用A.join(),并清理POST。

var your_post = [1, 2, 3];

var A = your_post.join();

if (A == '') {
    var sql = 'SELECT * FROM table1';
    con.query(sql, function (err, result) {
    if (err) throw err;
        console.log(result);
    });
} else {
    var sql = 'SELECT * FROM table1 WHERE id IN (?)';
    con.query(sql, [A], function (err, result) {
    if (err) throw err;
        console.log(result);
    });
}

相关问题