gpt4 book ai didi

mysql - Grails GORM与MYSQL级联删除问题

转载 作者:可可西里 更新时间:2023-11-01 08:56:05 24 4
gpt4 key购买 nike

我有一个 User 表,它有许多在静态 hasMany 下的 User 类中定义的子表 chalice 。

我在 grails 中执行 User.get(3).delete() 时没有问题。它会自动删除该用户及其所有子表行。但是当我想在 MySQL workbench 中执行相同的操作时。我收到 MySQL 抛出的错误:

ERROR 1451: Cannot delete or update a parent row: a foreign key constraint fails (`test_db`.`search_stat`, CONSTRAINT `FK7A3CFFB6E64DB41` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`))
SQL Statement:
DELETE FROM `test_db`.`user` WHERE `id`='3'

我不知道MySQL这里有什么问题。

最佳答案

您是从哪里了解到文档中的“ON DELETE CASCADE”的?我还没找到here . this post的海报还必须手动添加它以获得所需的行为。

如果 grails 真的应该添加这个,您是否尝试过删除数据库并让 grails 重新创建它(至少在开发环境中)?也许当前模式是在您添加 belongsTo 之前生成的?

另请查看 this Blog post about GORM Gotchas regarding hasMany and belongsTo.

关于mysql - Grails GORM与MYSQL级联删除问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4400768/

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