检查表中是否存在表

时间:2010-06-02 14:16:43

标签: mysql exists

此查询生成错误,因为table2不存在:

Select * FROM table WHERE table2.id IS NOT NULL

在对ID进行检查之前,是否有类似的内容来检查table2?

Select * FROM table WHERE (EXIST(table2) AND table2.id IS NOT NULL) or not EXIST(table2)

2 个答案:

答案 0 :(得分:3)

您需要查询此系统表:

SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'yourdatabasename'
AND table_name = 'table2';

如果返回一行,则表格就存在。

答案 1 :(得分:0)

我不相信标准SQL中有任何命令或函数可以执行此操作。您可以在发出SQL查询之前查询数据字典以检查表是否存在,如下所示:

SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE table_name ='xxx';

我不认为它可以在单个SQL语句中完成。