php - 外键没有与主键一起更新?

标签 php html mysql

我有两张 table 。

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

但是,我通过 html 页面插入数据,并使用 php 代码使用 phpmyadmin 将值插入数据库。

但是在将值插入表中时出现错误。

错误是:

error inserting values to the table: Cannot add or update a child row: a foreign key constraint fails (workshop_service.service_initiation, CONSTRAINT service_initiation_ibfk_1 FOREIGN KEY (c_id2) REFERENCES customer_details (c_id) ON DELETE 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);

最佳答案

  1. 您没有更新 customer_details 中的任何数据,因此不应更新外键。所以,你的标题具有误导性。

  2. 当您将数据插入子表并收到此错误时,这意味着您尝试插入外键字段的值在父表中丢失。

关于php - 外键没有与主键一起更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21276602/

相关文章:

php - 在mysql的前序遍历树中插入动态记录

php - 逻辑复杂的MYSQL选择查询

Sprite 的 HTML

php - 为什么 echo 在此脚本中不起作用?

mysql - 按日期时间戳分组 MySQL

php - 在文件顶部列出 php 函数? (或者,如何快速跳转到 php 函数?)

javascript - 在单个 HTML 页面中单击 CSS 或 Javascript 中的 div 标签之间的平滑过渡

php - mySQL:为双选择查询分配自动递增ID号

c# - 在一个类中定义 MySqlConnection 并在另一个类中使用它来处理数据库

php - 选择字段中最后一行的条件为 true 的位置