如何在MySQL中使用带有IF Condtion的ALTER表查询

时间:2017-11-07 12:51:59

标签: mysql

我的要求是修改MySQL表中表的列大小。我将使用ALTER语句来实现此目的。但在此之前,我需要检查表是否存在。如果表存在,那么我只会使用ALTER语句。

我尝试了很多方法。但是无法实现这一目标。有没有办法在MySQL中实现这一点。

请帮助我实现这一目标。

1 个答案:

答案 0 :(得分:0)

MySQL并没有内置的方法来实现这一目标。

一个选项只是运行ALTER TABLE语句,如果该表不存在,则忽略Table ... doesn't exist错误。

另一个选项(如果您愿意安装common_schema)是使用QueryScript将ALTER TABLE命令包装在try catch中,如果该表不存在则忽略该错误。

这样的事情会起作用:

  call common_schema.run("
    try 
    {
      alter table sakila.film modify column title varchar(100) not null;
    }
    catch {}
  ");