【发布时间】:2019-07-23 15:02:08
【问题描述】:
这里是 Oracle 的新手。我有一个使用以下 SQL 创建的表:
create table Widgets (
id integer constraint pkWidgets primary key using index,
ruleId integer not null,
customerId integer constraint fkWidgets_Customers references Customers
);
我现在正尝试在此表中插入一条记录:
INSERT INTO Widgets (
ruleId,
customerId
) VALUES (
88471239,
null
);
并得到以下错误:
INSERT INTO Widgets not successful
An error occurred when executing the SQL command:
INSERT INTO Widgets (
ruleId,
customerId...
ORA-01400: cannot insert NULL into ("MYSCHEMA"."WIDGETS"."ID") [SQL State=23000, DB Errorcode=1400]
1 statement failed.
Execution time: 0.13s
这是怎么回事? Oracle 不应该自动生成我的主键(id 字段)值吗?如果没有,我怎么知道(确切的 SQL)需要为这个值插入什么?
【问题讨论】:
-
看来你还需要插入 id 值。
标签: sql oracle primary-key