2010-04-26 48 views
2

我有一個DB,其中有一個表config。此表可能有一個config_cstm表,它與配置表中的id相關。MySQL如果存在問題,請加入表格

我想知道 - 有沒有辦法在一個簡單的select語句中動態檢查這個表是否存在?

換句話說,是這樣的:

select * 
from config 
(IF EXISTS config_cstm THEN 
      LEFT OUTER JOIN config_cstm ON config.id = config_cstm.id_c) 

我知道我怎麼會去檢查在PHP現有表的存在。儘管我想在一個MySQL語句中完成這一切。

有什麼建議嗎?

回答

1

如果您使用的是MySQL 5或更高版本,則可以使用CASE來實現這種條件功能。但是,如果您使用的是PHP,那麼您應該在PHP中完成它,而不是試圖將它全部用於SQL查詢。通常效率不高。

-1

你說的是「我的數據庫」,但根據我的經驗,通常在給定的數據庫中,一個表存在或不存在。您是否試圖將相同的查詢應用於多個並行數據庫?

如果是這樣,我會認爲可能會出現其他更重大的結構差異,正如撒旦小狗說的那樣,在用PHP或其他pre-SQL語言構建查詢時,您會更好,而不是試圖準備將適合所有模具的查詢。

+0

嗯,對不起,這個答案沒有幫助。有關我如何改進它的任何評論? – 2013-10-31 20:41:25