【发布时间】:2017-10-15 18:14:45
【问题描述】:
由于一个非常奇怪的原因,我们最近的部署崩溃了。
alter table eugen add eugencolumn number default 99;
不是将列称为“NOT NULL”会产生如此大的不同吗?我想了解为什么这个查询会产生问题,添加“NOT NULL”约束可以解决它,但是还有其他解决方法吗?如果您不希望该列不为空?
谢谢, 非常感激。
【问题讨论】:
-
您的部署脚本是如何“崩溃”的?有没有错误?我们不知道您的部署脚本的结构,因为您没有提供该信息,因此诊断问题将非常困难 - 特别是因为我的水晶球正在闪烁! *{;-) 一个演示问题的简单测试脚本将对我们 a) 重新创建问题和 b) 帮助您大有帮助。
-
暂时忘记部署崩溃。alter table eugen add eugencolumn number default 99 有什么区别;和alter table eugen add eugencolumn number default 99 not null;
-
一个使用默认值将列创建为可为空,另一个使用默认值创建为不可为空。将默认列添加到可为空的字段是完全有效的 - 请参阅:livesql.oracle.com/apex/livesql/file/…
-
实际上很多人都记录了当最后没有添加非空值时的性能问题..我试图理解为什么.. :) 非常感谢您的回复:)