Oracle does *NOT* support auto_increment keys like mysql natively so there are different ways to emulate it.
Particularly I prefer to create a SEQUENCE and update it through a trigger.
-- Creation of table
CREATE TABLE user(
user_id INTEGER NOT NULL ,
name VARCHAR2(15),
PRIMARY KEY ( user_id )
);
-- Creation of sequence
CREATE SEQUENCE seq_user_id
START WITH 1
INCREMENT BY 1
NOMAXVALUE;
-- Creation of trigger
CREATE TRIGGER trg_user_seq
BEFORE INSERT ON user
FOR EACH ROW
BEGIN
SELECT seq_user_id.nextval INTO :new.user_id
FROM dual;
END;
Insert statement
INSERT INTO user (name) VALUES('Francis');
Data Table
USER_ID NAME
---------- ---------------
1 Francis
