在mysql中使用If exists for select语句

在mysql中使用If exists for select语句,mysql,Mysql,我正在创建一个视图,并编写了以下代码段: CREATE OR REPLACE VIEW vclPersonData AS SELECT * FROM phone_data UNION SELECT * FROM Address 如果表不存在,我会得到一个错误,如果表存在,我会得到我使用的错误,但它对我也不起作用 任何帮助都是感激的。 提前感谢。脚本中需要两个步骤: 创建不存在的表 将视图创建为从表中选择* 如果表格存在,步骤1将是无害的。如果表不存在,步骤1将创建它,步骤2将创建一

我正在创建一个视图,并编写了以下代码段:

CREATE OR REPLACE VIEW vclPersonData
    AS
SELECT * FROM phone_data UNION 
SELECT * FROM Address 
如果表不存在,我会得到一个错误,如果表存在,我会得到我使用的错误,但它对我也不起作用

任何帮助都是感激的。
提前感谢。

脚本中需要两个步骤:

  • 创建不存在的表
  • 将视图创建为从表中选择*
  • 如果表格存在,步骤1将是无害的。如果表不存在,步骤1将创建它,步骤2将创建一个空视图

    如果只希望在表存在时创建视图,请在执行以下操作之前检查表的存在:

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

    我必须合并6个表,所以我必须检查这些表是否存在,如果不存在,我必须创建一个表…我可以用其他方法来解决,说我不必创建一个只包含不存在的表的表skip union语句?你需要一个过程来实现这一点,或者是MYSQL服务器上的存储过程,或者是一个脚本。你能解释一下你想做什么以及你是如何做的,这样我们才能进一步帮助你吗?