我的代码是:

private function get_parameters_to_array()
{
    $data = array(
        'datahora' => $this->input->post('datahora'),
        'valor' => $this->input->post('valor'),
        'idProduto' => $this->input->post('idProduto'),
        'idFuncionario' => $this->input->post('idFuncionario'),
        'idMesa' => $this->input->post('idMesa')
    );
    return $data;
}


我需要将3个ID值转换为Int,该怎么做?我得到的错误是这个:


  错误编号:1452
  
  无法添加或更新子行:外键约束失败
  (tucunaredbpedido,CONSTRAINT fk_Pedido_Funcionario1外国
  键(idFuncionario)参考funcionarioid)删除号
  采取行动(不采取行动)
  
  插入PedidodatahoravaloridProduto
  idFuncionarioidMesaativo)值('2016-02-24 23:14:16',
  '6.50','8','5','2',1)

最佳答案

这很简单,而且也正是错误所在:这是您要插入列idFuncionario中具有funcionario.id外键的列中的值错误。您可能在父表id中没有任何funcionario 5的记录。

您必须先创建这样的记录,然后才能从其他表中引用它。

foreign keys的重点是保持the referential integrity,即数据一致性。

您在列fk_Pedido_Funcionario1上具有外键Pedido.idFuncionario,该外键引用了列funcionario.id。这意味着Pedido.idFuncionario中的值不能与funcionario.id中的值不同,并且数据库正在检查该值。当您尝试插入其他值时,它会引发错误。

唯一允许的其他值是NULL,但仅在case列中可以包含该值(未使用NOT NULL定义)。

08-08 03:26