Oracle 資料庫 NOT NULL 欄位不能插入空字串

問題

Oracle 資料欄位是 VARCHAR2 NOT NULL
但程式 insert 時給 null 所以出錯
後來改成給空字串卻仍出錯

原因

Oracle 在操作 VARCHAR2 時
將空字串視為 NULL 來處理
因此會違反 NOT NULL 約束,導致錯誤

INSERT INTO my_table (name) VALUES (''); -- failed
INSERT INTO my_table (name) VALUES (' '); -- success

解決

只能以 dummy value 處理
改為塞入一個空白

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *