码迷,mamicode.com
首页 > 数据库 > 详细

django使用postgresql时提示主键冲突

时间:2019-05-14 13:00:31      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:l数据库   自增   pos   建立   记录   手动   currval   cat   postgresq   

在django使用postgresql数据库时,当你使用默认主键,但当你手动使用添加记录到相关数据库时(非insert操作,如使用navicate直接在表中复制粘贴记录),此时django在插入数据时,会提示主键冲突,这是因为postgresql的主键自增是建立在它内部机制工作的,你可以使用如下sql来获取或设置相关的自增ID序列:

    select nextval(‘表名_id_seq‘);             #此操作会获取当前基于表中最大ID,并会设置ID+1

    select currval(‘表名_id_seq‘);    # 此操作会获取当前表自增ID的序列号

    select setval(‘表名_id_seq‘, 3, true);  #此操作会修改此表自增ID的起始ID值

django使用postgresql时提示主键冲突

标签:l数据库   自增   pos   建立   记录   手动   currval   cat   postgresq   

原文地址:https://blog.51cto.com/smly1989/2394200

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!