无法将外键值插入链接表

tom*_*ato 5 php mysql constraints foreign-keys

我目前正在尝试将数据插入名为"customer_quote"的表中,该表充当"customer"表和"customer_tariffs"表之间的链接表.它还记录通过"用户"表汇总数据的用户.

这是我的数据库的模式:

http://i.imgur.com/LOG1T.png 在此输入图像描述

这是表格的截图,不允许我插入其中.

http://i.imgur.com/i2wiU.png

在此输入图像描述

这是我插入我的数据库的过程:

  1. 将数据插入客户表
  2. 使用mysql_insert_id检索行标识
  3. 将数据插入customer_quote <---不工作!

这是代码:

    //code above this inserted data into customer table

//get id of row where data was just inserted
$sustomer->cid = mysql_insert_id($db);

//insert into customer_quote table
$database->query("INSERT INTO customer_quote (cid)
        Values ('$customer->cid')");
Run Code Online (Sandbox Code Playgroud)

**新错误消息**

'无法添加或更新子行:外键约束失败(quote_system.customer_quote,CONSTRAINT fk_customer_quote_customerFOREIGN KEY(cid)REFERENCES customer(id)ON DELETE NO ACTION ON UPDATE NO ACTION)'

正如您所看到的,错误反馈是无用的,因此经过大约三个小时的测试后,我得出结论,问题是"客户报价"表中的"cid"列.

它只接受某些值,但是我自己的php变量具有正确的值,可以通过phpmyadmin插入,如下面的屏幕截图所示.

http://i.imgur.com/eEFou.png

在此输入图像描述

所以它必须是我的桌子中的约束或其他东西阻止我?

任何想法如何解决这个问题.

谢谢!

Man*_*eUK 2

我真的希望您的问题中有一个简单的拼写错误,但您的查询不正确:

$database->query("INSERT INTO customer_quote (cid)
        Values ('$customer->cid'");
Run Code Online (Sandbox Code Playgroud)

应该

$database->query("INSERT INTO customer_quote (cid)
        Values ('$customer->cid')"); // added closing bracket on values
Run Code Online (Sandbox Code Playgroud)