2011-03-30 46 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