問題
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 處理
改為塞入一個空白