0 0

MySQL添加外键约束时报错,这是神马情况,有人遇到过吗?0

users -- 用户信息表
userlogininfo -- 记录用户的登录信息表

场景:
在userlogininfo.userId添加users的外键关联,主要目的是ON DELETE CASCADE,以此来实现级联删除操作,删除某一个user的时候,该user的登录信息也被删除;


-- 修改外键
ALTER TABLE db.`userlogininfo` ADD CONSTRAINT `FK_userlogininfo` FOREIGN KEY (`userId`) REFERENCES `users` (`userId`) ON DELETE CASCADE;


-- 报错信息
Cannot add or update a child row: a foreign key constraint fails
(db.<result 2 when explaining filename '#sql-57c_1'>,
CONSTRAINT `FK_userlogininfo` FOREIGN KEY (`userId`) REFERENCES `users`
(`userId`) ON DELETE CASCADE)
2015年1月07日 10:57

1个答案 按时间排序 按投票排序

0 0

看下userlogininfo里的userid是否已经有不在users里的值。

2015年1月07日 13:10

相关推荐

    mysql处理添加外键时提示error 150 问题的解决方法

    MySQL 中添加外键时,可能会遇到 Error 150 的问题,这个问题是 MySQL 本身的 bug,已经被报告到 MySQL 开发者列表中很多年了。然而,导致这个错误的原因却并不是操作系统的文件权限错误或其他原因,而是 MySQL 一直...

    MySQL删除表的时候忽略外键约束的简单实现

    然而,有时候在开发或测试环境中,我们可能需要快速地删除所有表并重建数据库结构,这时就会遇到因外键约束导致的删除障碍。 当尝试删除一个表而该表包含其他表所依赖的字段时,MySQL会抛出错误1217(23000),提示...

    Mysql增加外键的方法

    在MySQL数据库中,可以通过特定的语法结构来增加外键,即便在建表时未设置外键也能在之后进行添加。本文详细介绍了在MySQL中增加外键的方法,并提供了使用PHPMyAdmin管理工具和SQL语句来实现外键添加的操作步骤和...

    MySQL外键约束常见操作方法示例【查看、添加、修改、删除】

    在MySQL数据库中,外键约束是关系型数据库中用于维护数据完整性和一致性的重要工具。它确保了一张表中的数据与另一张表的数据之间的关联性,通常用于实现一对一、一对多或多对多的关系。本篇文章将详细讲解如何进行...

    MySQL的约束-外键约束

    - **级联操作**:通过设置外键约束为`CASCADE`,可以实现级联删除或更新,这在维护数据一致性时非常有用。 - **ON DELETE 和 ON UPDATE 触发器**:可以指定当被参照记录被删除或更新时,如何处理外键字段。例如,`ON...

    Mysql表创建外键报错解决方案

    数据库表A: CREATE TABLE task_desc_tab ( id INT(11) PRIMARY KEY NOT NULL COMMENT '自增主键' AUTO_INCREMENT, &lt;strong&gt;taskname&lt;/strong&gt; VARCHAR(200) NOT NULL COMMENT '任务名字', sqlname VARCHAR(20) ...

    禁用启用所有外键约束.tst

    这会延迟所有外键约束的检查到事务结束时。 2. **启用外键约束**: 事务结束或使用`COMMIT`或`ROLLBACK`后,约束会自动重新启用。如果你想立即启用,可以使用: ```sql EXECUTE IMMEDIATE 'ALTER SESSION SET ...

    数据一致性守护者:MySQL外键约束深度解析

    本文将详细介绍MySQL中的外键约束这一关键特性。 #### 外键约束简介 外键约束是MySQL用来维护表与表之间引用完整性的强大工具。通过在表中定义一个外键,可以确保该表中特定列(或列集)的值必须对应另一表的主键值...

    mysql添加外键的四种方式

    以上四种方法都可以有效地在MySQL数据库中添加外键,每种方法都有其适用的场景。直接在CREATE TABLE语句中添加外键适合新建表时同步设置;使用ALTER TABLE适用于后期添加外键;而使用图形化工具如Navicat则更便于不...

    mysql的外键

    在MySQL数据库系统中,外键(Foreign Key)是一种重要的关系型数据库约束,它用于建立和维护两个表之间的关联。外键允许我们在一个表(被引用表)中引用另一个表(引用表)的主键,从而确保数据的一致性和完整性。在...

    MySQL外键的定义、作用、添加和删除

    MySQL 外键的定义、作用、添加和删除 外键是指引用另外一个表中的一列或多列数据,被引用的列应该具有主键约束或者唯一性约束。外键用来建立和加强两个表数据之间的连接。例如,在学生档案和成绩单两张表中,如果...

    详解MySQL 外键约束

    外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立; 外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而...

    外键.sql ~MySQL创建外键的操作

    MySQL 外键

    MySQL外键约束的实例讲解

    MySQL外键约束是数据库设计中的一个重要概念,它用于在两个表之间建立联系,确保数据的一致性和完整性。外键约束的使用确保了当一个表(父表)中的数据发生更改时,与其关联的另一个表(子表)的相关数据也会相应...

    详解MySQL中的外键约束问题

    在MySQL中,外键约束主要用于InnoDB存储引擎,因为它支持事务处理和行级锁定,这在处理并发操作和数据完整性时至关重要。 在MySQL中,外键约束有四种行为类型: 1. CASCADE:当父表中的行被删除或更新时,会自动...

    数据库外键约束方式

    外键约束方式有多种,包括级联、置空和禁止三种方式。 级联(Cascade)方式是指当主表中的记录被删除或更新时,从表中的相关记录也将被删除或更新。这种方式可以确保数据的一致性和正确性。例如,在用户表和用户组...

    mysql外键设置

    5. **修改外键**:如果需要修改外键,需要先删除原有的外键约束,然后再重新添加新的外键约束。 通过以上详细介绍,我们可以看到外键在 MySQL 数据库设计中的重要作用以及如何正确地使用外键来维护数据的完整性和...

Global site tag (gtag.js) - Google Analytics