使用ALTER删除列(如果它存在于MySQL中)
如果该列存在,如何使用ALTER将该列删除到MySQL表中?
我知道我可以使用ALTER TABLE my_table DROP COLUMN
my_column,但是如果my_column
不存在则会抛出错误。是否有其他语法可有条件地删除列?
我正在使用MySQL版本4.0.18。
回答:
MySQL Feature
Request。
无论如何,允许这样做无疑是一个坏主意:IF
EXISTS表明您正在(具有)未知结构的数据库上运行破坏性操作。在某些情况下,这对于快速而又肮脏的本地工作是可以接受的,但是如果您很想对生产数据运行这样的语句(在迁移等过程中),那么您将大受打击。
但是,如果您坚持要求,那么首先在客户端中检查是否存在或捕获错误并不困难。
MariaDB还从10.0.2开始支持以下内容:
DROP [COLUMN] [IF EXISTS] col_name
即
ALTER TABLE my_table DROP IF EXISTS my_column;
但是,仅依靠MySQL的几个分支之一支持的非标准功能可能是一个坏主意。
以上是 使用ALTER删除列(如果它存在于MySQL中) 的全部内容, 来源链接: utcz.com/qa/434253.html