table1有6列
table2有8列table3有10列
table4有12列
所有表都有一个共同的名称,比如pid。 我想在PHP中进行查询,如果在table1中找到pid,则将数据发送到PHP查询,或者在table2中搜索,或者如果没有找到,则在table3中搜索,或者在table4中搜索。
有什么办法可以根据列号进行区分,在使用PHP进行查询之前要搜索哪个表。
答案 0 :(得分:1)
由于您没有附加代码,因此这里提到了逻辑解决方案。 您可以通过检查列是否存在然后搜索
来继续首先,您必须将数组中的所有表名称作为
SHOW TABLES FROM db_name
现在进行foreach循环,如果count> 0
则中断 SELECT count(*) as c,TABLE_NAME as tn
FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'db_name' // your db name
AND TABLE_NAME = 'table_name' // from loop get it
AND COLUMN_NAME = 'pid' // column name
Now check c in php if >0 return tn and then break
最后在表格中搜索您从tn
获得的内容答案 1 :(得分:0)
如果您对integer
值有疑问。然后你可以保持Range table
。它仅存储{1}},例如table1及其table name
和minimum key value
。如果对该整数值有任何查询,那么我们可以使用maximum key value
找到该记录所属的表名,并从目标表中获取它,如table1。 range table
很小,它有5-6条记录,因为你说的时间非常少。现在转到目的地表并查找数据。
警告:这种方法有自己的优点和缺点。利弊。我只是分享我的观点