我有几个表正在由外部应用程序导入。它们的名称例如是Table_1
,Table_296
等。
每个表中都有一个名为Name
的列。
我的问题是:如何检索所有表的名称,以便可以将它们放入另一个查询中,该查询将从每个列Name
中检索行?
基本上,我需要检查值并列出包含该值的一个或多个表。
我可以使用下面的代码来检索所有表名,但是据我所知,不能全部使用变量来选择它们。
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.tables WHERE TABLE_NAME LIKE '%Table%' AND TABLE_SCHEMA='mydb'
我还知道,如果未指定表名,则无法选择相同的列名。请纠正我,如果我错了,请
答案 0 :(得分:1)
首先获取所有表名,然后像下面这样循环
$con = mysqli_connect("localhost","root","","databaseName");
$listdbtables = array_column(mysqli_fetch_all($con->query('SHOW TABLES FROM databaseName')),0);
foreach ($listdbtables as $key => $value) {
$sqlqry = "select Name from ".$value;
$nameResult = mysqli_query($con,$sqlqry);
while($nam = $nameResult->fetch_array()) {
echo($nam['Name']);
}
}