mysql - (MySQL : Wildcard in FROM clause?

标签 mysql sql

我有一个大约有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/

相关文章:

多条语句的 PHP oci_execute

php - MYSQL 从一个表复制字段到另一个表

mysql - mysql concat 函数内部格式化

php - 如何在php和mysql中使用表二的形式为表一中的每个线程数据行插入注释数据

sql - 如果字段为空,则 10 postgreSQL

sql - 拆分字符串和数字列

php - SQL 查询不更新 phpmyadmin 中的数据库

mysql 查询在 perl 和 mysql 中执行的结果不同

sql - 为什么我在执行 sql 脚本时收到 "Inconsistent ending lines"警告窗口?

MySQL优化: LEFT JOIN