我希望我的描述是准确的。我试图找到的是表名是否存在于另一个表创建的列表中。
例如。表A有一个子表列表

a_zcmdb_middleware_mq_view
a_zcmdb_middleware_tomcat_view
a_zcmdb_middleware_tomcat_web_view
a_zcmdb_middleware_websphere_view
a_zcmdb_myapp_app_db_view
a_zcmdb_myapp_fprint_dq_view
a_zcmdb_myapp_host_ear_war_view
a_zcmdb_oracle_catalog
a_zcmdb_oracle_instance
a_zcmdb_oracle_physical
a_zcmdb_oracle_rel_catlog
a_zcmdb_oracle_rel_instance
a_zcmdb_physical_db
a_zcmdb_software_product

我想检查数据库以确保这些表确实存在。
我查了几张表,发现这张桌子是不存在的。
错误1146(42S02):表“AyZCMBdMIDLeBaseToMcTeCaseWebVIEW”不存在

最佳答案

可以在IN子句中使用嵌套SELECT从information_schema获取结果,并根据此查询得到的结果,可以获得现有表:

 SELECT *
  FROM information_schema.tables
  WHERE table_schema = 'your_db'
  AND table_name IN (SELECT your_db.test.tb_name FROM your_db.test)

09-10 07:55
查看更多