postgresql 导入数据库表id自增报错问题处理
问题情境使用postgresql,我们需要迁移表操作时,转储sql语句再重新导入就会报错,提示正在上传…重新上传取消
·
情境再现:
使用postgresql,我们需要迁移表操作时,转储sql语句再重新导入就会报错,出现:
ERROR: relation "config_id_seq" does not exist
LINE 2: "id" int8 NOT NULL DEFAULT nextval('config_id_seq'::regcla...
提示序列不存在问题。
问题处理:
1.先删除导出的数据库表中的自增属性
2.导入数据库表之后,需要创建序列。
注:一般序列名称由数据表名+主键字段+seq组成 (通常情况下主键字段即为自增字段),如下表名为config_id_seq,主键字段为 id
CREATE SEQUENCE config_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
3.设置表字段(id)自增sql
alter table config alter column id set default nextval('config_id_seq ');
4.自增字段id默认值是1,如果需要设置自增之后的其实数值,例如11
select setval('config_id_seq', 11)
5.清空表格时要重置序列新数据才会从1开始自增
TRUNCATE TABLE cof_table_hot_analysis RESTART IDENTITY
更多推荐
已为社区贡献1条内容
所有评论(0)