今天在做作业的时候,在建立了几个主表,一个有外键的表

USE SPJ;
CREATE TABLE S (SNO CHAR(4) NOT NULL,SNAME CHAR(20) NOT NULL,STATUS CHAR(10),CITY CHAR(20),PRIMARY KEY (SNO));
CREATE TABLE P (PNO CHAR(4) NOT NULL,PNAME CHAR(20) NOT NULL,COLOR CHAR(8),   WEIGHT SMALLINT,PRIMARY KEY(PNO));
CREATE TABLE J (JNO CHAR(4) NOT NULL,JNAME  CHAR(20),CITY  CHAR(20),PRIMARY KEY(JNO));
CREATE TABLE SPJ (SNO CHAR(4) NOT NULL,PNO CHAR(4) NOT NULL,JNO CHAR(4) NOT NULL,QTY SMALLINT,PRIMARY KEY (SNO,PNO,JNO),CONSTRAINT `spj_ibfk_1` FOREIGN KEY (SNO) REFERENCES S(SNO) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT `spj_ibfk_2` FOREIGN KEY (PNO) REFERENCES P(PNO) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT `spj_ibfk_3` FOREIGN KEY (JNO) REFERENCES J(JNO) ON DELETE CASCADE ON UPDATE CASCADE);

生成了这几个表之后,在向SPJ表添加数据的时候就报错了,提示
“1452:INSERT INTO spj.spj (SNO, PNO, JNO, QTY) VALUES (‘S1’, ‘P2’, ‘J2’, ‘100’) 1452: Cannot add or update a child row: a foreign key constraint fails (spj.spj, CONSTRAINT spj_ibfk_1 FOREIGN KEY (SNO) REFERENCES s (SNO)) ”

查了很多的资料都未果
但是当找到了这里:https://stackoverflow.com/questions/12966626/mysql-cannot-add-or-update-a-child-row-a-foreign-key-constraint-fails
里面的方法解决了这个问题
在INSERT代码段前面添加

SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT;
SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS;
SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION;
SET NAMES utf8;
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO';
SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0; 

在代码段最后添加

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT;
SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS;
SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION;
SET SQL_NOTES=@OLD_SQL_NOTES; 

这样在执行insert操作就可以完美完成这个操作的任务

已解决在向有外键表插入数据提示“foreign key constraint fails”相关推荐

  1. mysql添加数据不阻塞_主键表插入数据不提交,外键表插入数据被阻塞

    有客户和我说:他在含主外键的表中实验发现,在主表数据未提交,然后在外键表插入该数据数据时,出现外键表hang住现象.我开始以为是不同的会话,根据oracle数据库的一致性原则,应该新会话在外键表中不能 ...

  2. 添加外键报错`Cannot add foreign key constraint`的解决方法

    报错原因一般可能是如下情况 两张表里要设主键和外键的字段的数据类型或者数据长度不一样(例如这个是int,另外一个是bigint,或者都是int,但是设置的长度不同)原谅我就是忘记了这个才总是出错 其中 ...

  3. mysql添加外键约束失败cannot add foreign key constraint

    一般来说出现此种错误的要注意是否有如下情况发生: 1.外键字段不能为该表的主键 2.外键字段参考字段必须为参考表的主键 3.字段数据类型必须一致 4.数据库表引擎必须一致 5.字符集和排序规则必须一致 ...

  4. 关于mysql数据库的外键插入报错:Cannot add or update a child row: a foreign key constraint fails,完整性问题

    关于mysql的外键插入报错:Cannot add or update a child row: a foreign key constraint fails..... 首先确定sql语句的正确 然后 ...

  5. mysql a foreign key constraint fails_外键记录有存在,插入数据却报错a foreign key constraint fails...

    今天在MySQL的一张表里插记录时,出现一个错误提示: Cannot add or update a child row: a foreign key constraint fails (`jeesn ...

  6. mysql删除有外链索引数据,Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法

    mysql删除有外链索引数据,Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法 参考文章: (1 ...

  7. 解决Cannot delete or update a parent row: a foreign key constraint fails的mysql报错

    1 问题 删除有外键关联的数据或者表的时候,mysql出现报错: Cannot delete or update a parent row: a foreign key constraint fail ...

  8. 表删除时 Cannot delete or update a parent row: a foreign key constraint fails 异常处理

    有两张表,结构如下: t_item: t_bid: id int id int name varchar name varchar item_id int 其中表t_item的主键id是表t_bid的 ...

  9. MySQL删除表:Cannot delete or update a parent row: a foreign key constraint fails。

    MySQL库中有俩表,table1和table2,相互关联,在删除表的时候出错: Cannot delete or update a parent row: a foreign key constra ...

最新文章

  1. 百度拿不到Big Data资源,7h删抓紧时间!!
  2. 青岛大学计算机专硕和学硕,【2020】【青岛大学】【学硕646】复习经验
  3. LeetCode Swap Nodes in Pairs
  4. npm出错的解决方案
  5. 源码安装 odoo12 -- 问题记录
  6. Boost:宏BOOST_TEST_GT的使用实例
  7. 启动万维网发布服务(W3SVC)
  8. 随机数是真是假你说了算???
  9. bartlett方差齐性检验_方差齐性检验
  10. sqlserver 插入数据时异常,仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'XXXXX.dbo.XXXXXXXXX'中的标识列指定显式值。...
  11. python 全局变量_python程序中用类变量代替global 定义全局变量
  12. python中字符串函数的作用_python 基础学习笔记(2)---字符串功能函数
  13. 动态路由之OSPF(开放式最短路径优先协议)
  14. python mssql get image bin_python实现mssql里点数据集到AutoCAD的文本转换
  15. 从Trie树(字典树)谈到后缀树(10.28修订)
  16. 一个关于static块的编译面试题
  17. 餐饮企业转型为大数据公司
  18. 进程同步/异步的区别
  19. Linux | 文件类型说明
  20. 自己做项目时整理的上传Excel表格

热门文章

  1. 微信和QQ内置浏览器停止访问该网页,微信域名被屏蔽的解决方案
  2. Pytorch警告UserWarning: Loky-backed parallel loops cannot be called in a multiprocessing
  3. 工作中那些让人印象深刻的BUG(3)
  4. WebStorm下载及破解
  5. Method threw ‘feign.codec.DecodeException‘ exception.
  6. 哪吒之魔童降世视听语言影评_《哪吒之魔童降世》观后感——不用吹爆,但值得点赞...
  7. CNN神经网络猫狗分类经典案例,深度学习过程中间层激活特征图可视化
  8. [艾兰岛]编辑器做传送门——kura酱长期更新
  9. 图片太大,导致页面加载过慢的处理方法
  10. 完结撒花!吴恩达DeepLearning.ai《深度学习》课程笔记目录总集