我的代码是:
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
无法添加或更新子行:外键约束失败 (
tucunaredb
。pedido
,CONSTRAINTfk_Pedido_Funcionario1
外国 KEY(idFuncionario
)REFERENCESfuncionario
(id
)ON DELETE NO 更新行动没有行动)INSERT INTO
Pedido
(datahora
,valor
,idProduto
,idFuncionario
,idMesa
,ativo
)价值观('2016-02-24 23:14:16', '6.50','8','5','2',1)
答案 0 :(得分:0)
这很简单,它确实是错误的说法:您尝试插入idFuncionario
列的值,该列具有{的外键{1}}错了。您可能在父表funcionario.id
中没有id
5的任何记录。
您必须先创建此类记录,然后才能从其他表中引用它。
foreign keys的目的是维持the referential integrity,换句话说,数据一致性。
您在列funcionario
上有外键fk_Pedido_Funcionario1
,该列引用了列Pedido.idFuncionario
。这意味着funcionario.id
中的值不能超过Pedido.idFuncionario
中的值,而数据库正在检查它。当您尝试插入不同的值时,它会抛出您收到的错误。
唯一允许的其他值为funcionario.id
,但只有在案例列中才能包含此类值(未使用NULL
定义)。