这是我的疑问:
"INSERT INTO tbl_pedidos_fornecedors_produtos (pedido_id, prefeitura_id, fornecedor_id, produto_id) VALUES (".$pedido_id.", ".$_SESSION["id"].", ".$fornecedor_ids[$i]["fornecedor_id"].", ".$value->id.")"
我该怎么做?
"INSERT INTO tbl_pedidos_fornecedors_produtos (pedido_id, prefeitura_id, fornecedor_id, produto_id) VALUES (".$pedido_id.", ".$_SESSION["id"].", ".$fornecedor_ids[$i]["fornecedor_id"].", ".$value->id.") WHERE ".$value->id." NOT IN (SELECT id FROM tbl_pedidos_produtos)"
答案 0 :(得分:1)
你需要PHP来完成这个条件:
<?php
$exist = $db->getVal('select 1 from tbl_pedidos_produtos where id=:id limit 1',
[':id' => $value->id]);
if ($!exsit) {
$db->query('INSERT INTO tbl_pedidos_fornecedors_produtos ...', [...]);
}
用适当的数据库函数替换$ db-&gt; getVal,$ db-&gt;查询
答案 1 :(得分:1)
尝试此查询:
insert into tbl_pedidos_fornecedors_produtos
(pedido_id, prefeitura_id, fornecedor_id, produto_id)
select * from (select '$pedido_id', '$_SESSION["id"]', '$fornecedor_ids[$i]["fornecedor_id"]', '$value->id') as temp
WHERE $value->id NOT IN (SELECT id FROM tbl_pedidos_produtos)
答案 2 :(得分:0)
进行两个查询 - SELECT ... tbl_pedidos_produtos以确定项目是否存在然后INSERT tbl_pedidos_fornecedors_produtos如果不是