mysql - 如何在 MySQL 中找到包含 2 个特定列的表

标签 mysql

类似于How to find all the tables in MySQL with specific column names in them?我想找到包含 2 个特定列的表格,而不是“或”。

我尝试过使用 AND 进行组合,但没有成功。

例如,我想在数据库中搜索包含 CategoryID 和 LotNumber 列的特定表。

最佳答案

通过information_schema.columns表,按表对匹配的列进行分组,并仅返回编号等于 2 的列:

SELECT table_name
FROM information_schema.columns
WHERE (column_name = 'colname1' OR column_name = 'colname2')
[AND table_schema = 'dbname']
GROUP BY table_name
HAVING count(*) = 2;

关于mysql - 如何在 MySQL 中找到包含 2 个特定列的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40051862/

相关文章:

php - 如何在 WHERE 的子查询中正确使用 JOIN 条件?

html - 如何使用PHP将mysql查询的数据输出显示为HTML?

php - OSX(Yosemite) 上的 Rails + MySQL

java - 可以修改sql中的唯一约束吗?

mysql - 在 MySQL 中插入/更新随机日期

MySQL 按数字排序,最后为空

php - 使用数据库决策为在线游戏创建大厅的挑战

javascript - PHP 编程错误(无法运行 while 循环)

php - 插入 255 行后 MySQL 停止

php - 在 MySQL 查询中使用 GET 变量是否安全?