table1:customer_details
c_id(primary key) AUTO INCREMENT
c_name
c_phone
(innoDB)
table2:service
si_id(primary key) AUTO INCREMENT
c_id2(foreign key) references customer_details(c_id) on delete cascade on delete update
si_1
si_2
si_3
si_4
si_5
(innoDB)
我已编写php代码进行更新,以便将值插入table2(service)的si_1,si_2,si_3,si_4,si_5。
每当我通过html页面将值插入table2时,我都会收到错误消息 “错误:无法添加或更新子行:外键约束失败”
以下是我的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)
试试这个:
$query="insert into service_initiation(c_id2,si_1,si_2,si_3,si_4,si_5) values ('$value1','$value2','$value3','$value4','$value5','$value6')";
您应该将si_id
从列列表中删除,以便通过自动增量自动分配。您需要将c_id2
设置为分配给引用表的ID。