外键没有用主键更新?

时间:2014-01-21 10:14:59

标签: php mysql

这是我的两张桌子:

customer_details(c_id,c_name,c_vehicleNumber,c_phone,c_email) primary_key(c_id)AUTO INCREMENT and innoDB.
service_initiation(c_id2,si_id,si_1,si_2,si_3,si_4,si_5) primary_key(si_id) AUTO INCREMENT and innoDB
foreign_key(c_id2) references customer_details(c_id) on delete cascade and on update cascade.

但是,我通过html页面向表service_initiation插入值,使用PHP代码si_1,si_2,si_3,si_4,si_5和c_id2,我使用mysql_insert_id / last_insert_id。

收到错误消息“错误1452:无法添加或更新子行:外键constaint失败”。

Below is my php code:
$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_id,si_id,si_1,si_2,si_3,si_4,si_5) values ('$value1','','$value2','$value3','$value4','$value5','$value6')";
mysql_query($query);

1 个答案:

答案 0 :(得分:2)

你有

  

删除级联和删除更新。

但这应该是

  

删除级联和更新级联。