gpt4 book ai didi

mysql - Rails 无法删除或更新父行 : a foreign key constraint fails

转载 作者:可可西里 更新时间:2023-11-01 06:31:25 25 4
gpt4 key购买 nike

我想从我的数据库中删除一些东西。该值引用了一些其他表。

错误是:

Mysql2::Error: Cannot delete or update a parent row: a foreign key constraint fails

如何正确解决这个问题?

如果我添加一些约束,例如删除级联,其他值将不会被删除,对吧?

编辑:

def delete
@vid = Movie.find params[:id]
@vid.delete
redirect_to :action => :add
end

更新模型

电影.rb

class Movie < ActiveRecord::Base
has_many :comments, :dependent => :destroy
has_many :ratings
belongs_to :channel
has_and_belongs_to_many :tags
has_and_belongs_to_many :categories
mount_uploader :video, MovieUploader

评论.rb

class Comment < ActiveRecord::Base
belongs_to :movie
belongs_to :user
belongs_to :rating

最佳答案

确保你的父级 Model.rb 有

has_many :model, :dependent => :delete_all 

这可确保在删除父模型后删除所有数据。

比如你有 Post.rb 和 Comment.rb

后.rb

has_many :Comments, :dependent => :delete_all

因此,当您删除一个帖子时,所有相应的评论也将被删除。

希望对你有帮助

干杯

关于mysql - Rails 无法删除或更新父行 : a foreign key constraint fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37025885/

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