Non è così semplice.
I campi NON contengono tutti lo stesso valore, il testo cercato può esserci o non esserci, e se presente può essere in qualunque posizione nel testo.
Altrimenti avrei chiesto semplicemente COME SI AGGIONA IL VALORE DI UNO O PIU' CAMPI IN MYSQL?
La risposta funziona se fosse per un solo record oppure se TUTTI i record contenessero lo stesso testo nel campo indicato.
Ad esempio si potrebbe avere (semplifico con soli 3 record)
Codice:
+-------+-------------------------------------------------------------------------------------------------------------------+
| 01 | Lorem ipsum dolor sit amet, consectetur VERDE, ROSSO adipiscing elit, sed do eiusmod tempor incididunt ut labore |
+-------+-------------------------------------------------------------------------------------------------------------------+
| 02 | Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. |
+-------+-------------------------------------------------------------------------------------------------------------------+
| 03 | At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium VERDE, ROSSO. |
+-------+-------------------------------------------------------------------------------------------------------------------+
Che dovrebbero diventare
Codice:
+-------+------------------------------------------------------------------------------------------------------------------------------------+
| 01 | Lorem ipsum dolor sit amet, consectetur [MIOTAG]VERDE, ROSSO[/MIOTAG] adipiscing elit, sed do eiusmod tempor incididunt ut labore |
+-------+------------------------------------------------------------------------------------------------------------------------------------+
| 02 | Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. |
+-------+------------------------------------------------------------------------------------------------------------------------------------+
| 03 | At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium [MIOTAG]VERDE, ROSSO[/MIOTAG]. |
+-------+------------------------------------------------------------------------------------------------------------------------------------+
A meno di fare tante query singole quanti sono i record la risposta proposta non va.
Serve una query che analizzi TUTTI i record e quelli in target li trasformi aggiornandoli.
------
EDIT:
Forse ho trovato la soluzione:
Lanciando la seguente query
Codice:
SELECT campo, REGEXP_REPLACE(campo, '(VERDE, ROSSO)', '[MIOTAG]$1[\/MIOTAG]', 1, 0, 'c') AS 'Result' FROM tabella
Ottengo due colonne, la prima col valore originario la seconda con la sostituzione voluta.
Lanciando un UPDATE con SET campo = REGEXP... si aggiorna la tabella.