我希望我的描述是准确的。我试图找到的是表名是否存在于另一个表创建的列表中。
例如。表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)