Mic*_*erx 12 postgresql primary-key sequence
我在生命中第一次将MySQL表转换为PostgreSQL,并遇到了没有auto_increment的传统新手问题.
现在我发现postgres解决方案是使用一个序列,然后在每次插入时请求此序列的nextval()作为默认值.我还读过SERIAL类型自动创建序列和主键,即使在内部事务中调用时,nextval()也会递增计数器,以避免锁定序列.
我无法解决的问题是当您使用UNIQUE或PRIMARY约束以及序列的nextval()作为默认值手动将值插入到字段中时会发生什么.据我所知,当序列达到该值时,这会导致INSERT失败.
是否有一种简单(或常见)的方法来解决这个问题?
非常感谢明确的解释.
更新:如果你觉得我不应该这样做,永远无法解决这个问题或者做出一些有缺陷的假设,请随时在你的答案中指出它们.最重要的是,请告诉我该怎么做,为程序员提供一个稳定而强大的数据库,不会被简单的插入损坏(最好不要隐藏存储过程后面的所有内容)