PostgreSQL教程-数据定义-移除约束
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询5.6.4. 移除约束
为了移除一个约束首先需要知道它的名称。如果在创建时已经给它指定了名称,那么事情就变得很容易。否则约束的名称是由系统生成的,我们必须先找出这个名称。psql的命令\d 表名将会对此有所帮助,其他接口也会提供方法来查看表的细节。因此命令是:
ALTER TABLE products DROP CONSTRAINT some_name;
(如果处理的是自动生成的约束名称,如$2,别忘了用双引号使它变成一个合法的标识符。)
和移除一个列相似,如果需要移除一个被某些别的东西依赖的约束,也需要加上CASCADE。一个例子是一个外键约束依赖于被引用列上的一个唯一或者主键约束。
这对除了非空约束之外的所有约束类型都一样有效。为了移除一个非空约束可以用:
ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;
(回忆一下,非空约束是没有名称的,所以不能用第一种方式。)