mysql - 如何在 MySQL 中使用带有 IF 条件的 ALTER 表查询

标签 mysql

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

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

请帮助我实现这一目标。

最佳答案

MySQL 没有内置方法来执行此操作。

一种选择是简单地运行 ALTER TABLE 语句,并在表不存在时忽略 Table ... does not 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 {}
  ");

关于mysql - 如何在 MySQL 中使用带有 IF 条件的 ALTER 表查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47158502/

相关文章:

mysql - 查询性能

mysql - 唯一键可以用作主键那么为什么我们保留另一个主键?

php - 搜索其中包含 & 的列值的那些记录

python - 在 ElasticSearch 上使用 pycurl 进行双重请求

java - 如何使用Java从MySQL获取实时数据

MySQL OUTER LEFT JOIN 性能

mysql - 从 wp_usermeta 表更新 'meta_value' 分配同一个表的另一个 'meta_value' 的值

MySQL 查询匹配不相关的术语

c# - 如何在 C# 中可视化 MySQL 查询字符串

php - 使用特定日期的 shell 命令从 SQL 转储数据库