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

ORA-00947:not enough values报错:自增列INSERT时值不足原因

ORA-00947错误触发原因

ORA-00947报错的核心逻辑是INSERT语句传入的值数量与目标匹配列的数量不一致,本次报错的具体原因如下:

  • 你使用的INSERT INTO 表名 VALUES (值列表)属于Oracle全列插入语法,要求传入的值的数量必须和表的总列数完全相等。你创建的Customer表总计包含7个列(customerId、firstName、middleName、lastName、dateOfBirth、phoneNumber、billingAddress),但你在VALUES后仅传入了6个值,数量不匹配直接触发报错。
  • 即使customerId是GENERATED ALWAYS as IDENTITY定义的自增主键,Oracle也不会在全列插入语法下自动跳过自增列做值匹配,全列插入语法强制要求你为所有列赋值,但自增主键又不允许主动传入自定义值,因此这种场景下必须显式指定要插入的列。
修复方案

将INSERT语句修改为显式指定插入列的写法即可正常执行:

INSERT INTO Customer (firstName, middleName, lastName, dateOfBirth, phoneNumber, billingAddress)
VALUES
('Sam', null, 'Siqi', TO_DATE('18/12/1999', 'DD/MM/YYYY'), 12345678, 'Smith Street NSW');

内容的提问来源于stack exchange,提问作者Saim Akhter Siddiqi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:30:01