为什么mysql中没有重命名列命令?

为什么mysql中没有重命名列命令?,mysql,syntax,Mysql,Syntax,我们需要将mysql中的一列重命名为 alter table\u name change old\u name new\u name column\u def 为什么不遵循语法呢 alter table\u name rename old\u name new name?我想说的原因是,重命名时,实际上也会更改属性的类型。因此,更改更准确:)我想说这是mysql通常的粗心大意的一部分:它们可以恢复省略的列类型表单表的元数据。但我现在必须闭嘴,以免发生火焰之战:)@SpyrosP这并不能解释为什么

我们需要将mysql中的一列重命名为

alter table\u name change old\u name new\u name column\u def

为什么不遵循语法呢


alter table\u name rename old\u name new name

我想说的原因是,重命名时,实际上也会更改属性的类型。因此,更改更准确:)

我想说这是mysql通常的粗心大意的一部分:它们可以恢复省略的列类型表单表的元数据。但我现在必须闭嘴,以免发生火焰之战:)@SpyrosP这并不能解释为什么mysql不能简单地实现重命名功能,当然没有直接的解释。这只是惯例而已。重命名类似于unix cp,如问题中所述。然而,mysql遵循不同的约定,因此ALTERTABLE似乎非常接近一般语法。引用完整性基于表名。对QA来说,DDL更改在时间和精力上都非常昂贵,应该可以让我们了解DBA为什么会这样做。MySQL。。。我是。。。诚实正直哈哈。Mkay:-)与其他供应商相比,这只是MySQL的一个实现细节(原因有争议,但不是很有趣)——如果在图片中抛出SQL xx DDL一致性,这将是一个有趣的问题。