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