问题标签 [mysql-error-1451]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
11136 浏览

mysql - 以什么顺序处理 ON DELETE CASCADE 约束?

这是我正在做的一个例子:

请注意,Uncle-Child 关系没有 ON DELETE CASCADE;即删除 Child 不会删除其 Uncle,反之亦然。

当我有同一个孩子的父母和叔叔时,我删除了父母,似乎InnoDB 应该能够“弄清楚”并让级联在整个家庭中涟漪(即删除父母删除叔叔和孩子也是如此)。但是,相反,我得到以下信息:

InnoDB 正在尝试在引用它的 Uncle 之前级联删除 Child。

我错过了什么吗?这是否应该由于某种我不明白的原因而失败?或者是否有一些技巧可以让它工作(或者它是 MySQL 中的一个错误)?

0 投票
1 回答
167 浏览

php - 令人困惑的mysql问题

我有两个表的问题:

问题是,当我尝试从地址表中删除记录时,出现以下错误

奇怪的是事件表中没有具有相同 per_id 或 adr_id 的记录。

那么这里发生了什么?

我该如何解决这个问题?;-)

0 投票
1 回答
1500 浏览

mysql - Zend Framework - 数据库表递归级联删除问题

我的情况可能有点不正常,但我在 MySQL 数据库中定义了外键,同时在Zend_Db_Table类中强制引用完整性。这些表使用 InnoDB 存储引擎。

删除记录时,Zend 框架将通过$_referenceMap表模型中的 正确识别直接子级并删除它们。但是,如果有直接孩子的任何孩子,我会从数据库中收到关于违反该外键的引用完整性的错误:SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails. 似乎Zend_Db_Table_Abstract没有以递归方式强制执行引用完整性。

有人遇到过这种情况么?它是Zend 框架的错误吗?解决方法?修复?


更新

将近一周后,我没有回答这个问题。我想我必须自己扩展Zend_Db_Table_Row_Abstract课程来完成这个。

0 投票
1 回答
5188 浏览

sql - 无法删除或更新父行 - JPA with Hibernate

我有一个数据库,其中所有的表都是由 Java JPA/Hibernate 代码生成的。我需要以与此类似的方式更新数据库中的几个表,

不幸的是,这会导致错误

错误 1451 (23000):无法删除或更新父行:外键约束失败(departmentuserlink,CONSTRAINT FK96AF44EAB09C41C5 FOREIGN KEY (department_id) REFERENCES department (id))

以下是 Java 实体:

他们在超类中都有 ID。到目前为止,它们的其他一切看起来都很好,只是在更新 Department 的主键时遇到了麻烦。我会很感激任何建议。谢谢。

0 投票
1 回答
244 浏览

mysql - 我的数据库的外键问题

我正在创建一个社交网站,并在朋友表上工作,不知道我做错了什么。

我有一个users(userId,name - userId 是主键)和另一个名为friends(friend1,friend2,status)的表。friend1并且将更新和删除friend2的外键userId设置为级联表用户有一个条目,其中包含 134 作为 ID,我想将其更改为 3。我只是想看看这些东西是如何工作的。朋友表中有两行值为 143。如果我将 134 更改为 3,它不应该在更新时级联并更改朋友表中的这些值。我收到此错误

1451 - 无法删除或更新父行:外键约束失败 ( modionz1_nightspot/friends, CONSTRAINT friends_ibfk_1FOREIGN KEY ( friend1) REFERENCES users( userId))

顺便说一句,这两个表都是innodb。对这些概念的任何帮助将不胜感激。

0 投票
1 回答
2914 浏览

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

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

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

我不知道 MySQL 有什么问题。

0 投票
6 回答
16627 浏览

sql - 不能删除表中的一行(MySQL)

亲爱的,我在 MySQL 中有一个问题:我无法DELETE FROM users where user_id ='1';在 MySQL CLI 中执行。所以我在 phpMyAdmin 中尝试:使用 GUI 删除一行,我得到了这个:

SQL查询:

MySQL 说:文档

我在Mysql网站上查找了这个错误,得到:Error: 1451 SQLSTATE: 23000 (ER_ROW_IS_REFERENCED_2)

消息:无法删除或更新父行:外键约束失败(%s)

我不知道这里出了什么问题,希望任何人都可以给我一个提示。

很多谢谢!

0 投票
2 回答
34882 浏览

mysql - mysql错误1451

我有代码 1451 的 mysql 错误。

无法删除或更新父行:外键约束失败 ( online_store_admin. osa_admin_logs, CONSTRAINT fk_admins_logsFOREIGN KEY ( aid) REFERENCES osa_admins( aid))

这里的sql语句:

/blockquote>

当我使用这个语句时问题来了:

从 osa_admins 中删除aid='2';

我想我已经设置了“删除级联”。有谁知道如何删除级联?所以我不需要手动删除 osa_admin_logs 数据。哦,我使用 innodb 作为数据库引擎(我拥有的默认 mysql)。

对不起,我问了同样的问题有答案,只是让我知道我在哪里可以得到我的问题。

谢谢你。

0 投票
2 回答
14729 浏览

sql - ERROR 1451:无法删除或更新父行:外键约束失败

所以这个表代表一个类别,有一个 ID 和一个自指向的父 ID。我插入了一个类别 cat1 和一个子类别 cat1_child,其父 ID 为 cat1。

现在,我希望能够将 cat1 的 idcategory 从 1 更改为 10,并且因为我在更新 CASCADE 上设置了外键,所以我希望 cat1_child 的 idparent 也将设置为 10。但是当我这样做时:

我收到一个错误:

错误 1451:无法删除或更新父行:外键约束失败(categories,CONSTRAINT FK_idparentFOREIGN KEY ( idparent) REFERENCES categories( idcategories) ON DELETE CASCADE ON UPDATE CASCADE) SQL 语句:UPDATE categoriesSET idcategories=10 WHERE idcategories='1'

删除将按预期工作,并且删除 cat1、cat1_child 也将被删除。

错误在哪里?比你。

0 投票
1 回答
148 浏览

mysql - 错误代码:1451 有 2 个主键

我无法运行以下语句:

自从我得到:

有以下表格:

现在,当我运行此查询以显示表的内容时,我得到了:

如您所见,“my_id”和“upgrade_time”都是键,而我要删除的行不存在于子表中,因为它是不同的时间。

这里有什么问题?

谢谢!