mysql Cannot add or update a child row: a foreign key constraint fails
2016-05-07 16:40
676 查看
今天在mysql中执行了一句追加一列属性
然后为goods_id 增加外键约束
果不其然,上天还是不能给自己太多甜头吃,冷不丁给你来点困难
错误码: 1452
Cannot add or update a child row: a foreign key constraint fails (`1go`.`#sql-16ec_1f`, CONSTRAINT `fk_999` FOREIGN KEY (`goods_id`) REFERENCES `goods` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000
观察了表,发现表中存在了数据,而且 goods_id 列默认全部被赋值 0
原因就很简单了,都为零都指向了table `goods` 所以 外键指向了一个不存在的goods id=0 的goods字段,自然就插不进去,提示更新update a child row error 了。。
解决方法,很简单:
第一种
就是把0改成 goods表(副表)中已经存在的 一个child row 数据
如如果商品表(goods)存在 id = 1 的字段,那么你就可以把 0 改成 1
第二种:
not null字段影响了。
先删除掉not null
再把
》goods_id
改成
》goods_id
最后再添加外键约束即可~~~
ALTER TABLE `share` ADD COLUMN `goods_id` INT(20) NOT NULL AFTER `userId`
然后为goods_id 增加外键约束
ALTER TABLE `share` ADD CONSTRAINT `fk_9_2` FOREIGN KEY ( `goods_id` ) REFERENCES `goods` ( `id` ) ON DELETE CASCADE ON UPDATE CASCADE
果不其然,上天还是不能给自己太多甜头吃,冷不丁给你来点困难
错误码: 1452
Cannot add or update a child row: a foreign key constraint fails (`1go`.`#sql-16ec_1f`, CONSTRAINT `fk_999` FOREIGN KEY (`goods_id`) REFERENCES `goods` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000
观察了表,发现表中存在了数据,而且 goods_id 列默认全部被赋值 0
原因就很简单了,都为零都指向了table `goods` 所以 外键指向了一个不存在的goods id=0 的goods字段,自然就插不进去,提示更新update a child row error 了。。
解决方法,很简单:
第一种
就是把0改成 goods表(副表)中已经存在的 一个child row 数据
如如果商品表(goods)存在 id = 1 的字段,那么你就可以把 0 改成 1
第二种:
not null字段影响了。
先删除掉not null
再把
》goods_id
0
改成
》goods_id
(NULL)
最后再添加外键约束即可~~~
相关文章推荐
- mysql修改root密码和设置权限
- 刚安装的mysql常见问题
- MySql 分区 分库 分表
- mysql主从同步不一致后的解决方法
- MYSQL常见错误
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
- mysql查询结果添加序列号
- MySQL的存储引擎与表的创建,键的定义,等等
- mysql explain type 和extra 列的含义
- Mysql时间函数
- win10下 64位mysql5.7及workbench的安装
- mysqlbinlog 增量备份和恢复
- MySQL EXPLAIN 语句的 SELECT TYPE有哪些值
- MySQL数据库分区功能的使用教程
- MySQL数据库服务器的架设
- Mac os下安装mysql
- Mysql 排序实现
- MySQL-----sql_mode
- mysql undo日志 redo日志
- mysql在线ddl操作