
CREATE SEQUENCE oldgeek_test_seq;
CREATE SEQUENCE oldgeek_test_seq
INCREMENT BY 1
MAXVALUE 99999999
START WITH 1
NO CYCLE;
drop sequence oldgeek_test_seq;
CREATE TABLE oldgeek_test (
id integer NOT NULL,
user_name varchar(20),
PRIMARY KEY(id)
);
CREATE TABLE oldgeek_test(
id SERIAL NOT NULL,
user_name varchar(20),
PRIMARY KEY(id)
);
CREATE SEQUENCE oldgeek_test_seq
INCREMENT BY 1
MAXVALUE 99999999
START WITH 1
NO CYCLE;
CREATE TABLE oldgeek_test (
id integer DEFAULT nextval('oldgeek_test_seq') NOT NULL,
user_name varchar(20),
PRIMARY KEY(id)
);
插入值:对应表定义的:方法一
INSERT INTO oldgeek_test VALUES (nextval('oldgeek_test_seq'), 'oldgeek');
插入值:对应表定义的:方法二 Or 方法三
INSERT INTO oldgeek_test(user_name) VALUES ('oldgeek');
查看插入后数据
SELECT * FROM oldgeek_test;
select nextval('oldgeek_test_seq');
select nextval('oldgeek_test_id_seq');
select currval('oldgeek_test_seq');
select setval('oldgeek_test_seq', 1);
select nextval('oldgeek_test_seq');
Unique violation: 7 ERROR: duplicate key value violates unique constraint "oldgeek_test_pkey"↵DETAIL: Key (id)=(33) already exists.
确认记录数
select MAX(id) FROM oldgeek_test
获取下一个序列数:对比下记录数和序列数
select nextval('oldgeek_test_seq');
重新设置序列数:获取最大ID,然后重新设置序列ID
select setval('oldgeek_test_seq', (select max(id) from oldgeek_test));
查看下一个序列数
select nextval('oldgeek_test_seq');