該查詢產生一個錯誤存在,因爲表2不存在:檢查表在
Select * FROM table WHERE table2.id IS NOT NULL
有沒有這樣的事了檢查表2之前使用該ID的支票?
Select * FROM table WHERE (EXIST(table2) AND table2.id IS NOT NULL) or not EXIST(table2)
該查詢產生一個錯誤存在,因爲表2不存在:檢查表在
Select * FROM table WHERE table2.id IS NOT NULL
有沒有這樣的事了檢查表2之前使用該ID的支票?
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查詢之前查詢數據字典以檢查表是否存在,如下所示:
SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE table_name ='xxx';
雖然我不認爲它可以在單個SQL語句中完成。
我的SQL可能會生鏽,但是當您沒有將它包含在查詢的FROM部分中時,如何引用「table2」? – 2010-06-02 14:28:54