2014-02-25 39 views
0

我想從Excel導入數據到數據庫。我不明白如何解決這個問題。如果你發現這個問題發生的原因,我會很高興。這是我的SQL:#1452 - 無法添加或更新子行:外鍵約束失敗3

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`)) 
+0

可能重複的[無法添加或更新子行:外鍵約束失敗](http://stackoverflow.com/questions/5005388/cannot-add-or-update-a-child-row-a-外鍵約束失敗) –

+0

@BrianDriscoll你的意思是id_pasien的重複? –

回答

0

Excel電子表格必須有相關的「pasien」表進來「berobat」表中的相關行前行。換一種說法,如果您嘗試向包含'id_pasien'字段值的'berobat'表中插入一行,該字段尚未存儲在'pasien'表中,則會出現此錯誤。

因此,您應該能夠對excel電子表格進行排序,以將'pasien'表的行放在最前面,截斷數據庫表以確保它們乾淨並準備好重新導入,然後再試一次。

相關問題