我可以使用
从产品表中轻松地在icecat_cache中搜索单个值。'NSInvalidArgumentException', reason: '*** -bytes only defined for abstract class. Define -[MusicSync.ChatMessage bytes]!'
然后将其删除
但是我无法弄清楚如何找到产品表中不存在的值并将其从icecat_cache中删除。
icecat_cache表看起来像这样
SELECT * FROM `icecat_cache` WHERE `ident` LIKE '%FAN8X25TX3L%'
产品表看起来很像
ident | status
----------------------------------------------
StarTech.com_FAN8X25TX3L | 1
--------------------------------------------------
hp_Fr4567 | 1
-------------------------------------------------
samsung_d345674 | 1
-------------------------------------------------
hp_ser345 | 1
------------------------------------------------
toshiba_dff345 | 1
------------------------------------------------
hp_se3453 | 1
------------------------------------------------
从上面的示例d345674中可以看到,dff345和ser345不在产品表中退出。目前,icecat_cache有超过50万个商品,而产品表只有18万个。
什么是删除它们的最佳方法
答案 0 :(得分:0)
Left Join
。考虑要考虑其中的所有行,请将icecat_cache
视为最左侧的表。LIKE %..%
规则。Product
,仅考虑Where Product.model IS NULL
表中没有匹配条目的那些行icecat_cache
子句中仅指定其名称/别名,可以从Delete
表中仅删除 。尝试以下查询:
DELETE
ic
FROM icecat_cache AS ic
LEFT JOIN Product AS p ON ic.ident LIKE CONCAT('%',p.model,'%')
WHERE p.model IS NULL