当使用 MODIFY 子句时,还可更改其它表的结构。如果其它表引用已修改的列,则那些引用约束被删除。必须使用 ALTER TABLE 语句,再次将那些约束添加到引用表。
ALTER TABLE items MODIFY (quantity CHAR(6));
但是,当存在主键或唯一约束时,则仅当不违反约束时发生转换。如果数据类型转换导致出现重复值(例如,通过将 FLOAT 更改为 SMALLFLOAT,或通过截短 CHAR 值),那么 ALTER TABLE 语句失败。