Mysql 检查where中是否存在表
此查询生成错误,因为表2不存在:Mysql 检查where中是否存在表,mysql,exists,Mysql,Exists,此查询生成错误,因为表2不存在: Select * FROM table WHERE table2.id IS NOT NULL 在对id进行检查之前,检查表2是否有类似的内容 Select * FROM table WHERE (EXIST(table2) AND table2.id IS NOT NULL) or not EXIST(table2) 您需要查询此系统表: SELECT table_name FROM information_schema.tables WHERE tabl
Select * FROM table WHERE table2.id IS NOT NULL
在对id进行检查之前,检查表2是否有类似的内容
Select * FROM table WHERE (EXIST(table2) AND table2.id IS NOT NULL) or not EXIST(table2)
您需要查询此系统表:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'yourdatabasename'
AND table_name = 'table2';
如果返回一行,那么您的表就存在。我不相信标准SQL中有任何命令或函数可以做到这一点。在发出SQL查询之前,您可以查询数据字典以检查表是否存在,如下所示: 从信息_SCHEMA.tables中选择表_name,其中表_name='xxx'
但是,我不认为这可以在一条SQL语句中完成。我的SQL可能已经过时了,但是如果您没有将“table2”包含在查询的FROM部分,您如何引用它呢?