gpt4 book ai didi

ruby-on-rails-3 - 使用 PostgreSQL 数据库更新 Datamapper 中的多对多关联

转载 作者:行者123 更新时间:2023-11-29 13:36:16 25 4
gpt4 key购买 nike

我在两个模型之间有一个相当普遍的多对多关系:用户和兴趣。

当我迁移我的数据库时,会创建一个 interest_users 表,其中包含两列:user_id 和 interest_id。

创建用户记录很好,链接表中的行也很好创建。但是,当我去更新记录时,我得到以下信息:

ERROR:  duplicate key value violates unique constraint "interest_users_pkey"
DETAIL: Key (user_id, interest_id)=(1, 2) already exists.

这意味着不会创建新的用户兴趣链接。而且我似乎也无法删除链接。

我在 rails 3 上使用 datamapper 和 postgresql 数据库。有没有人遇到同样的问题?

最佳答案

您应该确定它是否是更新以及它是否试图更改(设置)字段 user_id、interest_id。很多时候这是因为 WHERE 子句没有考虑主键字段。另一种可能性是已经存在的 key (user_id, interest_id)=(1, 2) 是一个孤立数据,如果是这样你应该确保你有一些 :constraint => :destroy 启用关系。

关于ruby-on-rails-3 - 使用 PostgreSQL 数据库更新 Datamapper 中的多对多关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10385109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com