【发布时间】:2018-12-30 14:19:24
【问题描述】:
我有很多表具有相同的_ips 结尾。示例:
first-domain.com_ips
secons-domain.com_ips
...
我正在尝试获取 UNION 结果表,该表将包含所有 _ips 表中的所有行。为此我使用:
SELECT id, expirationDate FROM `first-domain.com_ips` WHERE isBlocked = 1
UNION
SELECT id, expirationDate FROM `secons-domain.com_ips` WHERE isBlocked = 1
...;
我有一个由域名组成的数组。所以我正在寻找一种在 SQL 查询中使用这个域数组的方法。也许像我们使用 SELECT 一样。示例:
const ids = [3, 4, 6, 8];
const query = 'SELECT * FROM table WHERE id IN (' + ids.join() + ')';
有没有办法在 SQL 中使用数组作为表名?提前谢谢!
【问题讨论】:
-
修复你的数据结构!不要为每个域存储单独的表。将域作为一列包含在单个表中。
-
如果
ids数组中的值有可能来自外部且未经消毒,那么您需要使用准备好的语句来构建查询。 -
请查看我发布的答案,如果它解决了您的问题,请将其标记为已接受的答案。
标签: javascript mysql sql