此查询生成错误,因为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)
答案 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语句中完成。