错误:更新或删除表“users”违反了表“comments”上的外键约束“fk_rails_03de2dc08c”

时间:2017-12-03 23:08:06

标签: ruby-on-rails ruby postgresql web activerecord

我坚持这个错误并且无法弄清楚什么是错的。

导轨中止了! ActiveRecord :: InvalidForeignKey:PG :: ForeignKeyViolation:错误:表“users”上的更新或删除违反了表“comments”上的外键约束“fk_rails_03de2dc08c”DETAIL:Key(id)=(11)仍然从表“comments”引用。 :DELETE FROM“users”WHERE“users”。“id”= $ 1#31

1 个答案:

答案 0 :(得分:2)

听起来用户编号11发表了一些评论,因此无法删除用户,因为这些评论仍然引用该用户。这就是外键 - 评论表上的条目(子表)被键控到父表(用户) - 不能删除父表,因为这会留下孤立记录

首先删除用户11的评论,或更改外键以便删除级联""删除级联"模式 - 删除父级将导致自动删除子记录