`
chembo
  • 浏览: 940997 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql 添加外键约束报错 1452

阅读更多
今天为一张表的字段添加一个外键约束:
ALTER TABLE `gjp`.`gjp$contacts`

  ADD CONSTRAINT `FK_city_contact`

  FOREIGN KEY (`city_id` )

  REFERENCES `gjp`.`gjp$cities` (`city_id` )

  ON DELETE NO ACTION

  ON UPDATE NO ACTION

, ADD INDEX `FK_city_contact` (`city_id` ASC) ;

执行结果报错:ERROR 1452 : Cannot add or update a child row: a foreign key constraint fails。。。

后来查看发现此表已有记录数据中该外键字段的值在主表在找不到。
解决办法就是在主表中添加该条数据或者将此表该条主表没有的数据改成主表已有的数据即可。
分享到:
评论

相关推荐

    MySQL 字段约束 mysql学习笔记

    MySQL 字段约束详解 MySQL 字段约束是指在 MySQL 中对字段的定义时添加的约束或修饰...除了字段的约束,MySQL 也允许表级的约束,比如主键和外键、索引和惟一约束。这些约束置于 CREATE TABLE 命令的字段定义的后面。

    MySQL常用约束-20121224-最新版

    以上介绍了 MySQL 中常用的五种表约束:主键约束、外键约束、非空约束、唯一约束和默认值约束。这些约束机制有助于维护数据库中数据的完整性和一致性,对于构建高效可靠的数据库系统至关重要。通过理解并合理运用...

    mysql操作手册.pdf

    例如,外键约束(FOREIGN KEY)确保了表间的数据关联,而检查约束(CHECK)则限制了字段值的范围。在输入SQL语句时,务必避免在最后一项括号前添加逗号,否则会导致语法错误。 此外,手册中还提到了其他表格的创建...

    mysql数据库笔记.docx

    5. 外键约束(FOREIGN KEY)用于关联不同表之间的数据,保证数据完整性。先创建主表,再创建从表,并设置外键约束。 6. 非空约束(NOT NULL)确保字段不能为空。 7. 唯一约束(UNIQUE)确保字段值的唯一性。 8. 默认...

    mysql常用命令总结适用于mysql8.0

    7. **外键约束**: `constraint deptld2 foreign key(deptld) references user(id)`,创建外键关联,`deptld`字段引用`user`表的`id`主键。 8. **非空约束**: `not null`,确保字段值不能为空,如`deptld`字段。 9....

    mysql面试题20道精选

    包括InnoDB(支持事务处理和外键)、MyISAM(速度快但不支持事务)、MEMORY(数据存储在内存中)、CSV(用于导入导出数据)、BLACKHOLE(数据被丢弃但不报错)等。 17. **如何备份MySQL数据库?** 使用`mysqldump...

    MySQL学习笔记MySQL学习笔记

    外键约束(`FOREIGN KEY`)用于维护表间的关系,非空约束(`NOT NULL`)确保字段不为空,默认值约束(`DEFAULT`)设定字段的默认值,唯一约束(`UNIQUE`)保证字段值的唯一性,虽然MySQL在8.0之前不支持检查约束(`...

    修改过后的代码,要不然使用scrapy中的crawler插入数据库总是报错

    字段类型、主键设置以及外键约束都应正确无误。 3. 数据处理和序列化:在Scrapy的Item Pipeline中处理数据,确保数据在插入数据库之前已经被正确清洗和格式化。例如,日期字段可能需要转换成数据库可接受的格式,非...

    MySQL命令行和语句(共28页word文档,涵盖26大项sql操作,几乎所有需要的操作都在这里)

    - `InnoDB`:支持事务处理、行级锁定和外键约束。 - `MyISAM`:不支持事务处理但性能较好,适合读取密集型应用。 - `MEMORY`:将数据存储在内存中,适用于小规模数据的快速访问。 - `ARCHIVE`:压缩存储,占用...

    MySQL的Grant命令

    - `REFERENCES`:允许创建外键约束。 - `CREATE TEMPORARY TABLES`:允许创建临时表。 - `INDEX`:允许创建索引。 - `CREATE VIEW`:允许创建视图。 - `SHOW VIEW`:允许查看视图定义。 - `CREATE ROUTINE`:...

    关于MySQL的基础篇章

    - 约束用于定义字段的限制,如`not null`(非空)、`unique`(唯一)、`primary key`(主键)、`foreign key`(外键)。 - 索引用于加速查询,创建索引如`create index idx_name on 表名(字段名);`,主键自动创建...

    MySQL使用中遇到的问题记录

    第一种是使用`TRUNCATE TABLE`命令,它删除表中的所有数据并重置自动增长的ID,但这种方法在有外键约束的情况下可能无法执行,因此你需要先禁用外键检查: ```sql SET FOREIGN_KEY_CHECKS=0; TRUNCATE TABLE table_...

    MySQL所支持的数据类型与表字段约束类型的学习教程

    - **外键约束(Foreign Key)**: 外键是表A中引用表B主键的字段,用于维护数据的一致性和完整性。外键使得两个表之间建立起关联。例如,`uid`在`comment`表中作为外键引用`user`表的主键`uid`。 - **自动递增...

    mysql的常用sql语句.pdf

    - **添加外键** ```sql ALTER TABLE table_name ADD CONSTRAINT fk_name FOREIGN KEY (column_name) REFERENCES parent_table(column_name); ``` #### 三、数据操作 ##### 插入数据 向表中插入数据的基本语法...

    MySQL快速指南

    4. **外键(ForeignKey)**:部分存储引擎不支持外键约束。 5. **视图(View)**:早期版本不支持视图,但后来版本中已经添加了对该特性的支持。 #### 基本命令操作 - **执行脚本**:可以通过在命令行中直接调用脚本...

    mysql学习笔记

    ### MySQL 学习笔记知识点详解 #### 数据库操作 ##### 创建数据库 ...通过以上知识点的详细解释,您可以更好地理解和掌握MySQL的基本操作和数据完整性约束,这对于进行有效的数据库管理和应用开发非常重要。

    数据库系统操作基础篇学习笔记

    4. **约束和外键**: - **约束**:用于保证数据的一致性和完整性,如非空约束、唯一约束等。 - **外键**:定义在参照完整性的基础上,用于关联两个表的字段。创建外键使用`create table`或`alter table`的`foreign...

    中北大学数据库概论实验报告四 (数据完整性-验证型实验)

    3. `ALTER TABLE`用于修改已有表的结构,添加、删除或修改列及完整性约束。 4. `DROP TABLE`用于删除数据表。 5. `SELECT`用于查询数据,可以进行多表联合查询、分组、排序等操作。 6. `INSERT INTO`用于向表中插入...

Global site tag (gtag.js) - Google Analytics