无法在postgres数据库表中插入新行?

Rol*_*and 0 php postgresql

我有一个问题,我正在尝试在postgres数据库表中插入一个新行并得到以下错误

ERROR:  duplicate key violates unique constraint "n_clients_pkey"
Run Code Online (Sandbox Code Playgroud)

在这里我的查询

insert into n_clients(client_name) values( 'value');
Run Code Online (Sandbox Code Playgroud)

我正在使用postgres 8.1.11

 PostgreSQL 8.1.11 on x86_64-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14)
Run Code Online (Sandbox Code Playgroud)

这是我桌子的结构

                                                Table "public.n_clients"
   Column    |           Type           |                               Modifiers                               
-------------+--------------------------+-----------------------------------------------------------------------
 id          | integer                  | not null default nextval(('public.n_clients_id_seq'::text)::regclass)
 client_name | character varying(200)   | not null
 moddate     | timestamp with time zone | default now()
 createdate  | timestamp with time zone | default now()
Indexes:
    "n_clients_pkey" PRIMARY KEY, btree (id)
Run Code Online (Sandbox Code Playgroud)

和顺序

Sequence "public.n_clients_id_seq"
Column     |  Type   
Run Code Online (Sandbox Code Playgroud)

--------------- + --------- sequence_name | name last_value | bigint increment_by | bigint max_value | bigint min_value | bigint cache_value | bigint log_cnt | bigint is_cycled | boolean is_called | 布尔

Pal*_*tir 6

此行已存在,因此您无法插入它.你们关系的主要关键是什么?这是序列吗?如果是这样,可能会卡住(也许你导入了数据).您应该手动将其重置为下一个可用的免费ID(例如,如果最大ID为41,您应该执行:SELECT setval('your_seq',42);)然后再试一次.