ALTER COLUMN语句设置,更改或删除列的default约束或删除not null约束。

管理其他约束,请查阅:ADD CONSTRAINTDROP CONSTRAINT

概要

图片

所需权限

用户需要拥有表的CREATE权限

参数

Parameter Description
table_name 需要修改的列所在的表名
column_name 需要修改的列名
a_expr 你想用的新的默认值

查看Schema变更

每当你操作表scheme变更时,CockroachDB都会将它注册为一个Job,你可以通过SHOW JOBS查看。

举例

设置或修改一个默认值

设置默认值约束会在数据写入表时插入值,而不需要显式定义该列的值。如果列已经存在默认值,你可以使用此语句修改它。

下例展示了当你往表格subscriptions插入数据时,如果没有指定newsletter列的值,则设置为true

> ALTER TABLE subscriptions ALTER COLUMN newsletter SET DEFAULT true;

删除Default约束

如果一个列定义了默认值约束,你可以删除这个约束,这意味这后续如果插入该列的数据没有定义的话,将不再插入默认值。

> ALTER TABLE subscriptions ALTER COLUMN newsletter DROP DEFAULT;

删除Not Null约束

如果一个列定义了非空约束,你可以删除掉这个约束,这意味着后续该列的值可以为空。

> ALTER TABLE subscriptions ALTER COLUMN newsletter DROP NOT NULL;

See Also