2
我試圖插入一條記錄到表中,但得到的錯誤 -甲骨文 - 錯誤:ORA-01400:無法將NULL插入
'ORA-01400: cannot insert NULL into (....'. The table structure is:
我從MySQL遷移到Oracle。
在Mysql上有效,但在Oracle上它不起作用。我怎樣才能解決這個問題?我是否需要寫的所有列插入查詢或取消選擇不爲空選項
我試圖插入一條記錄到表中,但得到的錯誤 -甲骨文 - 錯誤:ORA-01400:無法將NULL插入
'ORA-01400: cannot insert NULL into (....'. The table structure is:
我從MySQL遷移到Oracle。
在Mysql上有效,但在Oracle上它不起作用。我怎樣才能解決這個問題?我是否需要寫的所有列插入查詢或取消選擇不爲空選項
試試這個:
create or replace trigger EDITIONS_COR
before insert or update on EDITIONS
for each row
begin
if INSERTING then
select EDITIONS_SEQ.nextval into :new.ID from DUAL;
end if;
:new.CORDATE:=SYSDATE;
:new.USERNAME:=USER;
end;
的MySQL可以讓你插入空到非空列(默默轉換是別的東西)。實際上,Oracle遵守您不希望在該列中存儲NULL的約束。解決方案是在插入時提供一個值而不是NULL。 – 2013-03-06 12:28:02
對某些列存在NOT NULL約束,因此您需要在插入過程中提供一個值,或者可能缺少一個觸發器(例如,可以從序列填充列) – tbone 2013-03-06 12:28:37
好的。我如何在Oracle所有表上放置'not null'選項? – neoerol 2013-03-06 12:34:07