[英]Updating MySQL records based on condition
數據庫包含:
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)
..但我不確定如何從表中刪除不匹配的記錄。
1.方法1:為此,您必須首先獲取表中存在的所有記錄的記錄集,然后對照您的數組檢查每個記錄集,以了解是否需要顯示它們。
2.方法2:將數組中存在的skus放入表中(說ValidLookupHelper),然后運行帶有NOT IN的MySql查詢,該NOT IN在原始數據表中找到,但不在ValidLookupHelper中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.