我试图使用load data INFILE从.txt加载数据,问题是我得到了错误1452,但是引用的外键存在于我的数据库中。其他加载数据也在工作,只是不能解决这个和1个其他加载。我已经检查了引用的数据,并且在加载之前存在于DB中。此外,这些列的类型也相同。我尝试重新安装MySQL仍然不起作用(但我的一个朋友使用相同的代码/.txt可以加载数据)。如果.txt只包含一行,我可以加载它,但是当添加第二行时,我得到了错误。
使用下面的SQL脚本,我正在尝试添加一本新书,以及它的新作者和新流派(目前没有评分)(我像大多数学生一样使用MySQL ): use booksdb;insert(错误代码: 1452。无法添加或更新子行:外键约束失败)。我的第一个问题是,使用事务的全部目的不是为了在事务完成之前不强制/检查约束吗?(在这种情况下,所有东西都应该放在适当的位置,没有“空引用”)。我能够添加所有内容的唯一