作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在上一个问题中,我想知道为什么在第一次将具有 ID 的实例合并到数据库(注入(inject)夹具数据)时,我从 SA 收到完整性错误。
但是,我学会了通过调用我正在注入(inject)的最高索引来解决这个问题:
select setval('my_items_id_seq', {id});
但是,这并没有解决根本问题,这正是我现在正在努力解决的问题。为什么 merge 在插入新行时不对序列调用 nextval()?
最佳答案
如果您的对象已经设置了 PK 属性,那么 ID 序列将不会被使用,因此不会递增,因为数据库没有理由执行隐式 insert into mytable (id, ...)值((从 mytable_id_seq 中选择 nextval),...)
。
您确定您需要对您的 session
进行合并
而不是添加
吗?如果您真的要插入,我认为这更像是一个 add
操作。如果您只是简单地重用一个仍在内存中的对象,但较早添加并且现在可能已在数据库中更改,则 merge
是合适的。
关于python - 为什么 PostgreSQL 在合并实例时不增加 id_sequence 上的 last_value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7044980/
在上一个问题中,我想知道为什么在第一次将具有 ID 的实例合并到数据库(注入(inject)夹具数据)时,我从 SA 收到完整性错误。 但是,我学会了通过调用我正在注入(inject)的最高索引来解决
我是一名优秀的程序员,十分优秀!