我有一个大约有200个表的数据库,需要对包含特定列(creation_date)的所有表进行查询,但并非所有表都有该列。 SELECT * FROM * WHEREcreation_date>=42
显然不起作用,但是最好的方法是什么?
最佳答案
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT, TABLE_NAME,
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name'
[AND table_schema = 'db_name']
[AND column_name ='creation_date']
直接从 MySQL 复制 - 您需要循环遍历这些系统表,列表将包含这些...
然后您可以构建 SQL 语句并确保它们有效...
关于mysql - (MySQL : Wildcard in FROM clause?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7362577/