2011-03-30 21 views
0

我創建一個視圖,並寫入下面的代碼片段:使用如果存在select語句在MySQL

CREATE OR REPLACE VIEW vclPersonData 
    AS 
SELECT * FROM phone_data UNION 
SELECT * FROM Address 

我得到一個錯誤,如果表不存在,來overthat我使用。如果存在,但它也不適合我。

任何幫助是感謝。 在此先感謝。

回答

2

你需要在你的腳本兩個步驟:

  1. CREATE TABLE IF NOT EXISTS
  2. CREATE VIEW AS SELECT * FROM TABLE

如果表存在,第一步將是無害的。如果該表不存在,則第1步將創建它,第2步將創建一個空視圖。

如果你只是想創建的視圖如果表存在,檢查表前的所有腦幹:

BEGIN 
SELECT 1 FROM TABLE; 
CREATE VIEW AS SELECT * FROM TABLE 
COMMIT 
+0

我不得不工會6張桌子,所以我必須檢查這些表的存在與否,如果不是我必須創建一個...我有其他方式解決方法說,我不必創建表只跳過與不存在的表的聯合聲明? – Malcolm 2011-03-30 11:02:01

+0

您將需要一個過程,在MYSQL服務器上的存儲過程或腳本。你能解釋一下你正在做什麼以及你如何做這件事,所以我們可以進一步幫助你? – Konerak 2011-03-30 11:25:36