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.