如何通过传递数组从mysql数据库中检索数据
我有一个由前端传递的动态id数组。我需要从mysql数据库获取数据,其中元组ID与我传递的ID匹配 示例Id数组:[6,7,…] 项目数量可根据不同的要求而有所不同如何通过传递数组从mysql数据库中检索数据,mysql,sql,Mysql,Sql,我有一个由前端传递的动态id数组。我需要从mysql数据库获取数据,其中元组ID与我传递的ID匹配 示例Id数组:[6,7,…] 项目数量可根据不同的要求而有所不同 SELECT expense_type, expense_category FROM expense_type WHERE expense_category_id=id1 OR expense_category_id=id2; id1、id2是来自前端的ID。(6,7,…) 可以有多个来自前端的ID。 请问在这种情况下,有没有办法
SELECT expense_type, expense_category FROM expense_type WHERE expense_category_id=id1 OR expense_category_id=id2;
id1、id2是来自前端的ID。(6,7,…)
可以有多个来自前端的ID。
请问在这种情况下,有没有办法从一个查询中提取数据。
或者我必须编写多个查询才能执行?要基于值数组选择数据,可以使用-关键字中的
。在您的情况下,它将如下所示:
SELECT expense_type, expense_category
FROM expense_type
WHERE expense_category_id IN ('id1', 'id2');
您需要使用多个ID的数组进行查询
像下面这样
query = 'SELECT expense_type, expense_category FROM expense_type WHERE expense_category_id IN (`;
forEach(ids as id) {
query += id + ','
}
运行查询..您可以轻松地在中使用。
也可以尝试使用Join。因此,查询的准确性将得到提高
SELECT expense_type, expense_category
FROM expense_type
WHERE expense_category_id IN ('id1', 'id2');
有两种方法。首先,您可以在('1','2','3')中使用。第二种方法是在临时表中插入这些值,通过对该临时表使用JOIN可以得到结果。