2015-03-19 2 views
0

В PostgreSQL:Почему postgresql получил неправильный идентификатор?

step1:

я получил ошибку:

ERROR: duplicate key value violates unique constraint "question_pkey" 
DETAIL: Key (id)=(11) already exists. 
STATEMENT: INSERT INTO question (content,uid,answer_count,answer_users,view_count,status,created_at,updated_at,attach) values ($1,$2,$3,$4,$5,$6,$7,$8,$9) returning * 
LOG: statement: DEALLOCATE pdo_stmt_00000001 

step2:

Я называю предложение:

master=# ALTER SEQUENCE question_id_seq RESTART WITH 110702; 

step3:

вставить вопрос, но question_id это 11 не который я ожидал 110703.

мой стол, как:

CREATE TABLE question (
    id serial NOT NULL PRIMARY KEY, 
    content text, 
    uid int NOT NULL DEFAULT 0, 
    attach text NOT NULL DEFAULT '', 
    answer_count int NOT NULL DEFAULT 0, 
    status smallint NOT NULL DEFAULT 0 
); 

добавить мой serverlog:

LOG: statement: 
LOG: statement: insert into "public"."question" ("uid", "content") values ('1', '1') 
ERROR: duplicate key value violates unique constraint "question_pkey" 
DETAIL: Key (id)=(30) already exists. 
STATEMENT: insert into "public"."question" ("uid", "content") values ('1', '1') 
LOG: statement: 
LOG: statement: ALTER SEQUENCE question_id_seq RESTART WITH 110706 
LOG: statement: 
LOG: statement: insert into "public"."question" ("uid", "content") values ('1', '1') 
ERROR: duplicate key value violates unique constraint "question_pkey" 
DETAIL: Key (id)=(31) already exists. 
STATEMENT: insert into "public"."question" ("uid", "content") values ('1', '1') 
+0

check 'select nextval ('question_id_seq');' –

+0

master = # select nextval ('question_id_seq'); + --------- + | nextval | + --------- + | 110703 | + --------- + 1 строка в наборе (0.02 сек) – jianfeng

+3

Вы уверены, что 'question_id_seq' является используемой последовательностью? Что '' 'вопрос' 'должен сказать внутри' psql'? Вы уверены, что делаете обе вещи в одной базе данных? –

ответ

0

я не прав, \ д вопрос показывает, что я не использую quesiton_id_seq, но используйте question_id_seq1. Спасибо mu