sku price available
0113A5 300 1
0213A5 250 1
PHP伪代码:
['0113A5' => ... , '0313A5' => ... ]
loop:
if exists in DB ['0113A5']:
update
if not exists in DB ['0113A5']:
create
delete all other records in the table (in this case 0213A5 which isn't in the array)
我可以INSERT
(更新)记录:
INSERT INTO product (sku, price, available)
VALUES ('{$sku_safe}', '{$price}', '{$available}')
ON DUPLICATE KEY UPDATE
price = VALUES(price),
available = VALUES(available)
..但我不确定如何从表中删除不匹配的记录。
答案 0 :(得分:0)
<强> 1。方法1: 为此,您必须首先获取表中存在的所有记录的记录集,然后针对您的阵列检查每个记录,以确定它们是否必须存在。
<强> 2。方法2:将存在于数组中的skus放入一个表(Say ValidLookupHelper)中,然后运行一个带有NOT IN的MySql查询,该查询在原始数据表中找到,但不在ValidLookupHelper中。