所以情況是這樣的:MySQL的錯誤:無法添加或更新子行,外鍵約束失敗
我創建一個形成一組,存儲在test_groups_tb,然後用另一種形式輸入用戶ID附加他們到組,它們被存儲在group_association_tb,其結構如下所示:
group_id | user_id
我很新的MySQL和更使外鍵關係,所以我試圖建立在group_association_tb這是一個關係基本上,如果該組被刪除,則從group_association中刪除該組的所有記錄_tb。
現在發生了什麼,因爲應用這個組是存儲好的。我可以手動添加學生,但是當我嘗試通過導入csv添加它們時,它不喜歡它。
這裏是查詢(我知道它不是有效的查詢每次迭代):
while($row = mysql_fetch_assoc($result))
{
$sql = "INSERT INTO group_association_tb (group_id, user_id)VALUES('$group','".$row[user_id]."')";
mysql_query($sql) or die(header("Location:error.php"));
}
以下是錯誤我得到:
Cannot add or update a child row: a foreign key constraint fails (`ece70141/group_association_tb`, CONSTRAINT `group_association_tb_ibfk_1` FOREIGN KEY (`group_id`) REFERENCES `test_groups_tb` (`group_id`) ON DELETE CASCADE)
有人能解釋這個問題是在這裏。
千恩萬謝,
您試圖添加到group_association_tb的group_id是否存在於test_groups_tbl表中? – superultranova 2011-06-02 18:24:41
是的,這就是爲什麼我很困惑,我有兩種方法供用戶選擇添加用戶,手動輸入他們的學號,或者導入一個csv文件。這一切都沒有適用的關係工作,但與它應用.csv導入不工作:S – buymypies 2011-06-02 18:28:26
這可能是一個很大的,但你確定$組變量得到適當的評估? – superultranova 2011-06-02 18:33:05