#1452 - 无法添加或更新子行:外键约束失败3

时间:2014-02-25 16:25:00

标签: mysql sql

我想要从excel导入数据到db。我不明白如何解决这个问题。如果你发现为什么会出现这个问题,我会很高兴的。这是我的SQL:

CREATE TABLE IF NOT EXISTS `berobat` (
`id_berobat` int(11) NOT NULL AUTO_INCREMENT,
`tgl_berobat` date NOT NULL,
`id_pasien` int(11) NOT NULL,
`id_puskesmas` int(11) NOT NULL,
`id_penyakit` int(11) NOT NULL,
PRIMARY KEY (`id_berobat`),
KEY `id_pasien` (`id_pasien`),
KEY `id_puskesmas` (`id_puskesmas`),
KEY `id_penyakit` (`id_penyakit`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

--
-- Dumping data for table `berobat`
--

Mysql说:

#1452 - Cannot add or update a child row: a foreign key constraint fails (`dinkes`.`berobat`, CONSTRAINT `berobat_ibfk_1` FOREIGN KEY (`id_pasien`) REFERENCES `pasien` (`id_pasien`)) 

1 个答案:

答案 0 :(得分:0)

您的Excel电子表格必须将与'pasien'表相关的行放在'berobat'表中的相关行之前。换句话说,如果您尝试在'berobat'表中插入一行,该表包含尚未存储在'pasien'表中的字段'id_pasien'的值,那么您将收到此错误。

因此,您应该只需对excel电子表格进行排序,将'pasien'表的行放在最上面,截断数据库表以确保它们干净并准备好重新导入,然后再试一次。 / p>