在阅读问题之前检查此示例- http://www.sqlfiddle.com/#!2/fcf3e/8
以下数据来自一个表单,用户只是简单地从特价商品中删除了一个产品。
Array(
'special_offer_id' => 1,
'product_ids' => Array(
0 => 1,
0 => 2
)
)
本来我想用这个查询...
REPLACE INTO `foo` VALUES (1, 1), (2, 1);
但这不会删除用户删除的产品 - 只会更新其他产品。
所以我被迫执行2个查询......
DELETE FROM `foo` WHERE `special_offer_id` = 1;
INSERT INTO `foo` VALUES (1, 1), (2, 1);
有没有更好的方法来做到这一点而不必执行 2 个查询?