2016-11-14 70 views
2

我在使用JDBC将数据从csv文件输入到mysql数据库时遇到问题。我已经插入了一张名为'Poet'的表格,其中'PoetName'是主要关键字。外键问题MySQL

我已经用CSV文件中的记录填充了表,然后我创建了另一个名为'Poem'的表,它包含一个外键'PoetName',它引用了诗人表,但是每当我尝试填充CSV文件中的表格针对包含匹配我正在显示其值诗以下无差错

“不能添加或更新子行,外键约束失败”

这是奇怪的,因为主键'PoetName'的值与我用于外键的值相同。

有没有人有什么问题的想法?

感谢

+0

也许在诗人的名字中有多余的空格。将数字ID字段用作外键可能会更好。 – Barmar

+0

你能制作一个能够证明问题的sqlfiddle吗? – Barmar

+0

检查是否有任何字符编码问题。看哪一个失败,并从两个来源进行比较 –

回答

0

如果你正在运行到这个错误,一个快速的解决方法是将这行添加到您的脚本:

SET FOREIGN_KEY_CHECKS = 0; 

另外要注意的是通常你希望你的主键是类型INT。