http://www.superfunction.net/oraerror/error_code.jsp?OraNo=01451
Oracle 错误码查询网站
Oracle/PLSQL
Oracle/PLSQL ORA-01451
錯誤原文 - column to be modified to NULL cannot be modified to NULL
錯誤原因
資料庫管理人員異動資料表的設定屬性成為可以為空,但該欄位目前的設定值已是可以為空值,或是該欄位是主鍵所以不容許空值
處理辦法
1.把要修改為空值的欄位所擁有的主鍵屬性移除
2.不重複執行修改屬性對於已經是可以為空值的欄位
範例
建立資料表設定其屬性。
CREATE TABLE customer
(
id varchar2(10) NOT NULL,
name varchar2(35),
sex varchar2(2),
CONSTRAINT customer_pk PRIMARY KEY (id)
);
管理人員現在要對於customer 這一個資料表進行屬性的調整,要將id的欄位調整成為可以為空值。
ALTER TABLE customer
MODIFY id NULL;
這樣的異動就會發生,因為id這一個值是被設定為PK值,所以不可以為空值。
ALTER TABLE customer
DROP CONSTRAINT customer_pk;
把PK 值得設定移除就可以將該欄位設定為可接受空值。