我有两个表。
customer_details(c_id,c_name,c_phone) primary_key(c_id) ENGINE:innoDB AUTO INCREMENT
service_initiation(c_id2,si_id,si_1,si_2,si_3,si_4,si_5) primary_key(si_id) AUTO INCREMENT and ENGINE:innoDB foreign_key(c_id2) references customer_details(c_id) on delete cascade and on update cascade
但是我使用i通过html页面插入数据并使用php代码使用phpmyadmin将值插入数据库。
但是在将值插入表格时出现错误。
错误是:
向表中插入值时出错:无法添加或更新子行:外键约束失败(
workshop_service
。service_initiation
,CONSTRAINTservice_initiation_ibfk_1
FOREIGN KEY(c_id2
)REFERENCEScustomer_details
(c_id
)ON UPETE CASCADE ON UPDATE CASCADE)。
以下是我的PHP代码:
$value1=mysql_insert_id();
$value2=$_POST['si_1'];
$value3=$_POST['si_2'];
$value4=$_POST['si_3'];
$value5=$_POST['si_4'];
$value6=$_POST['si_5'];
$query="insert into service_initiation(c_id2,si_id,si_1,si_2,si_3,si_4,si_5) values ('$value1','','$value2','$value3','$value4','$value5','$value6')";
mysql_query($query);
答案 0 :(得分:1)
您没有更新customer_details中的任何数据,因此不应更新外键。所以,你的头衔是误导性的。
当您将数据插入子表并获得此错误时,这意味着您尝试插入外键字段的值在父表中缺失。