【发布时间】:2014-04-05 18:06:22
【问题描述】:
目前我使用 postgresql 作为我的数据库,并通过 MS Excel csv 格式将所有数据导入表中。一切都很顺利,但问题是每当我想向表中插入其他数据时,例如使用以下代码:
insert into country (name)
values ('America');
一直弹出一个错误
ERROR: duplicate key value violates unique constraint "effect_pkey"
DETAIL: Key (country_id)=(1) already exists.
********** Error **********
ERROR: duplicate key value violates unique constraint "effect_pkey"
SQL state: 23505
Detail: Key (country_id)=(1) already exists.
当我不断尝试插入数据时,得到的错误类似于错误消息中的 country_id 正在增加。那么我只能在超过表中现有 ID 时插入数据。我想知道如何解决这个问题。非常感谢。
【问题讨论】:
-
请将国家/地区表的表定义添加到您的问题中。 (country_id 是连续剧?)
-
@joop ya id 是串行格式的,它只是一个带有 ID 和 NAME 的简单表,
-
可能您的数据导入忘记重置序列号(表中出现的最大值)
-
@joop 我应该如何克服这个问题..hmmmm
-
您必须将主序列密钥重置为从文件导入的当前值+1:您可以这样实现:stackoverflow.com/a/3819323/1216680
标签: sql postgresql