我們最近從Oracle 9.2版遷移到11g。 但是,使用數據庫的應用程序出現了一些錯誤。我們得到以下異常:Oracle 9.2遷移到11g - 默認值
ORA-01400: cannot insert null into...
我看了有關的錯誤,特別是關於版本11克一些新的功能,可能是原因的信息。
而我在這裏。我知道使用默認值定義表列的舊方法無法工作,但我不知道爲什麼,更重要的是如何解決問題。
這裏的表,我可以看到使用SQL Developer的定義:
COLUMN_NAME DATA_TYPE NULLABLE DATA_DEFAULT COLUMN_ID
--------------------------------------------------------------------------
...
REP_DOC_RECEIVED CHAR(1 BYTE) No 'n' 12
...
當我嘗試插入一行與該列空值時,會拋出異常。
該列說可空:不,這可能是爲什麼你不能在這個列中插入一個空值......默認值不是自動的,你仍然需要填充值。什麼也沒有變。在中添加觸發器,或者只是不指定該列。 – Ben 2012-07-26 15:41:15
@Ben:我不這麼認爲:*默認值不是自動的,您仍然需要填充值。*,實際上是相反的,請參閱我的答案。 – GWu 2012-07-27 05:22:51
@gwu,也許措辭不佳...... – Ben 2012-07-27 11:23:14