问题标签 [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.
mysql - 以什么顺序处理 ON DELETE CASCADE 约束?
这是我正在做的一个例子:
请注意,Uncle-Child 关系没有 ON DELETE CASCADE;即删除 Child 不会删除其 Uncle,反之亦然。
当我有同一个孩子的父母和叔叔时,我删除了父母,似乎InnoDB 应该能够“弄清楚”并让级联在整个家庭中涟漪(即删除父母删除叔叔和孩子也是如此)。但是,相反,我得到以下信息:
InnoDB 正在尝试在引用它的 Uncle 之前级联删除 Child。
我错过了什么吗?这是否应该由于某种我不明白的原因而失败?或者是否有一些技巧可以让它工作(或者它是 MySQL 中的一个错误)?
php - 令人困惑的mysql问题
我有两个表的问题:
问题是,当我尝试从地址表中删除记录时,出现以下错误
奇怪的是事件表中没有具有相同 per_id 或 adr_id 的记录。
那么这里发生了什么?
我该如何解决这个问题?;-)
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
课程来完成这个。
sql - 无法删除或更新父行 - JPA with Hibernate
我有一个数据库,其中所有的表都是由 Java JPA/Hibernate 代码生成的。我需要以与此类似的方式更新数据库中的几个表,
不幸的是,这会导致错误
错误 1451 (23000):无法删除或更新父行:外键约束失败(departmentuserlink,CONSTRAINT FK96AF44EAB09C41C5 FOREIGN KEY (department_id) REFERENCES department (id))
以下是 Java 实体:
他们在超类中都有 ID。到目前为止,它们的其他一切看起来都很好,只是在更新 Department 的主键时遇到了麻烦。我会很感激任何建议。谢谢。
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_1
FOREIGN KEY ( friend1
) REFERENCES users
( userId
))
顺便说一句,这两个表都是innodb。对这些概念的任何帮助将不胜感激。
mysql - Grails GORM 和 MYSQL 级联删除问题
我有一个表 User,它在静态 hasMany grails 下的 User 类中定义了许多子表。
在 grails 中执行 User.get(3).delete() 时我没有问题。它会自动删除该用户及其所有子表行。但是当我想在 MySQL 工作台中执行相同的操作时。我得到 MySQL 抛出的错误:
我不知道 MySQL 有什么问题。
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)
我不知道这里出了什么问题,希望任何人都可以给我一个提示。
很多谢谢!
mysql - mysql错误1451
我有代码 1451 的 mysql 错误。
无法删除或更新父行:外键约束失败 (
online_store_admin
.osa_admin_logs
, CONSTRAINTfk_admins_logs
FOREIGN KEY (aid
) REFERENCESosa_admins
(aid
))
这里的sql语句:
/blockquote>当我使用这个语句时问题来了:
从 osa_admins 中删除aid='2';我想我已经设置了“删除级联”。有谁知道如何删除级联?所以我不需要手动删除 osa_admin_logs 数据。哦,我使用 innodb 作为数据库引擎(我拥有的默认 mysql)。
对不起,我问了同样的问题有答案,只是让我知道我在哪里可以得到我的问题。
谢谢你。
sql - ERROR 1451:无法删除或更新父行:外键约束失败
所以这个表代表一个类别,有一个 ID 和一个自指向的父 ID。我插入了一个类别 cat1 和一个子类别 cat1_child,其父 ID 为 cat1。
现在,我希望能够将 cat1 的 idcategory 从 1 更改为 10,并且因为我在更新 CASCADE 上设置了外键,所以我希望 cat1_child 的 idparent 也将设置为 10。但是当我这样做时:
我收到一个错误:
错误 1451:无法删除或更新父行:外键约束失败(
categories
,CONSTRAINTFK_idparent
FOREIGN KEY (idparent
) REFERENCEScategories
(idcategories
) ON DELETE CASCADE ON UPDATE CASCADE) SQL 语句:UPDATEcategories
SETidcategories
=10 WHEREidcategories
='1'
删除将按预期工作,并且删除 cat1、cat1_child 也将被删除。
错误在哪里?比你。
mysql - 错误代码:1451 有 2 个主键
我无法运行以下语句:
自从我得到:
有以下表格:
现在,当我运行此查询以显示表的内容时,我得到了:
如您所见,“my_id”和“upgrade_time”都是键,而我要删除的行不存在于子表中,因为它是不同的时间。
这里有什么问题?
谢谢!