如果当您添加包含缺省值的列时,您正在更改的表已经有行,则此缺省值只应用在 ALTER TABLE MODIFY 语句之后插入的新列的行中。任何新列插入之前已存在的行,会在新列中拥有一个 NULL 值,除非您更改这些行以插入非 NULL 值。现在您插入的行将拥有 MODIFY 子句指定的缺省值,除非您向新列中插入了其它值。
你不能指定顺序列的缺省值。 对于 DISTINCT 或 OPAQUE 数据类型的列,您不能指定作为缺省值像变量函数的常数表达式(例如:CURRENT 、SYSDATE DBSERVERNAME 、SITENAME 、TODAY 、USER 或 CURRENT_USER)。
ALTER TABLE items ADD item_weight DECIMAL (6, 2) DEFAULT 2.00 BEFORE total_price;
在此示例中,items 表中的每个现有行的 item_weight 列都有缺省值 2.00 。
有关 DEFAULT 子句的选项的更多信息,请参阅 CREATE TABLE 语句中 DEFAULT 子句 章节。