修改或添加以将 NOT NULL 约束添加到列?甲骨文
Posted
技术标签:
【中文标题】修改或添加以将 NOT NULL 约束添加到列?甲骨文【英文标题】:MODIFY or ADD to add NOT NULL constraint to a column? Oracle sql 【发布时间】:2018-12-26 20:04:56 【问题描述】:Oracle 数据库中的 ORDERS 表:
ORDERS
ORDER_ID NOT NULL NUMBER(4)
ORDATE_DATE DATE
CUSTOMER_ID NUMBER(3)
ORDER_TOTAL NUMBER(7,2)
ORDERS 表包含数据,并且所有订单都分配了一个客户 ID。我正在尝试向 CUSTOMER_ID 列添加 NOT NULL 约束。我会使用修改约束还是添加约束?我被告知您必须删除约束并添加新的约束,但是如果对客户 ID 号没有现有约束,它会被修改吗?
【问题讨论】:
【参考方案1】:alter table orders modify customer_id not null;
【讨论】:
【参考方案2】:就MODIFY
专栏:
alter table orders modify customer_id not null;
或者,您可以在表单中添加 [overkill] 约束:
alter table orders add constraint nn1 check (customer_id is not null);
只需使用第一种形式。
附带说明,一些数据库(例如 Oracle)认为这两个约束不同并且有些分开:前者是 column 约束,而后者是 table 约束。 Oracle 会跟踪以防您删除了一个,而另一个仍然有效。
【讨论】:
以上是关于修改或添加以将 NOT NULL 约束添加到列?甲骨文的主要内容,如果未能解决你的问题,请参考以下文章
iphone - 撤消或反转 kCATransitionPush 以将图像发送到屏幕外
如何更改 aurioTouch 项目以将录音写入 .caff 或 .wav 文件
如何配置 ServiceStack Json Serializer 以将 bool 值写入 int 或 byte?
使用 awk 从文件或 EV 中获取环境变量以将其用作 EV