更改表结构

当使用 MODIFY 子句时,还可更改其它表的结构。如果其它表引用已修改的列,则那些引用约束被删除。必须使用 ALTER TABLE 语句,再次将那些约束添加到引用表。

当更改现有列的数据类型时,所有数据均转换到新数据类型,包括数字转换到字符以及字符转换到数字(如果这些字符代表数值的话)。以下语句更改 quantity 列的数据类型:
ALTER TABLE items MODIFY (quantity CHAR(6)); 

但是,当存在主键或唯一约束时,则仅当不违反约束时发生转换。如果数据类型转换导致出现重复值(例如,通过将 FLOAT 更改为 SMALLFLOAT,或通过截短 CHAR 值),那么 ALTER TABLE 语句失败。