Penso che la migliore risposta a questo problema sia nel link sottostanteIl modo migliore per rimuovere il valore dal campo SET?
la query dovrebbe essere così che copre il valore , o il valore, o solo il valore nella colonna separata da virgole
UPDATE yourtable
SET
categories =
TRIM(BOTH ',' FROM REPLACE(CONCAT(',', col, ','), ',2,', ','))
WHERE
FIND_IN_SET('2', categories)
Qui puoi avere la tua condizione in dove clausola. per maggiori dettagli fare riferimento al link sopra.