使用数据库中自带的参数类型 serial 类型(相当于创建一个INT列), 或者bigserial(相当于创建一个BIGINT列.
示例sql:
CREATE TABLE ord(
id SERIAL,
ord_no INT NOT NULL,
ord_name VARCHAR(32),
CONSTRAINT "ord_PKEY" PRIMARY KEY ("id")
);
-
插入时指定自增值: 指定主键值可以入表, 但是之后主键自增是按照之前没有指定主键值自增的. 比如当前id为1, 2, 3. 插入一条10, 之后自增从4开始, 自增到10之后会报错主键值重复, 之后继续自增可以正常插入数据
-
SERIAL类型时不会报错, bigSERIAL类型的时候会报错违反了非空约束
-
代码里不出现id时, 可以正常插入: