New to Oracle here. I have a table created with the following SQL:
x
create table Widgets (
id integer constraint pkWidgets primary key using index,
ruleId integer not null,
customerId integer constraint fkWidgets_Customers references Customers
);
I’m now trying to insert a record into this table with:
INSERT INTO Widgets (
ruleId,
customerId
) VALUES (
88471239,
null
);
And getting the following error:
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
What’s going on here? Shouldn’t Oracle be auto-generating my primary key (id
field) value? If not, how can I tell (exact SQL) what needs to be inserted for this value?
Advertisement
Answer
I was able to use ids.nextval
and my insert works great:
INSERT INTO Widgets (
id,
ruleId,
customerId
) VALUES (
ids.nextval,
88471239,
null
);