You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle执行INSERT报ORA-01400无法插入NULL值问题咨询

报错原因

  • 你误用了INSERT语句:INSERT的作用是新增完整的员工行记录,而employee表的ID字段是带NOT NULL约束的主键,你执行的INSERT语句没有给ID字段传值,数据库会默认写入NULL,直接触发ORA-01400非空约束报错。
  • 你的实际需求是给已经存在的员工更新部门ID,应该用UPDATE语句而非INSERT语句。

正确操作示例

如果要给ID为1的员工JONES分配到IT部门(对应department表ID=1),执行语句如下:

UPDATE employee SET department_id = 1 WHERE id = 1;

如果要批量分配,比如ID前3位员工分配到SALES部门,ID4、5分配到HR部门,可以分别执行:

UPDATE employee SET department_id = 3 WHERE id IN (1,2,3);
UPDATE employee SET department_id = 2 WHERE id IN (4,5);

执行完后可以用SELECT * FROM employee;核对更新结果即可。

内容的提问来源于stack exchange,提问作者bluethundr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:15:02