Visualizzazione risultati 1 fino 3 di 3

Discussione: Modifica testo in campo

  1. #1
    fwe
    fwe non è connesso Neofita
    Data registrazione
    02-01-2019
    Messaggi
    12

    Predefinito Modifica testo in campo

    Salve

    se in una colona di una tabella contenente del testo volessi modificare massivamente delle parti come potrei fare magari utilizzando solo query mysql?

    Mi spiego meglio con un esempio

    Se avessi un campo che contenga un testo tipo

    Codice:
    Lorem ipsum dolor sit amet, consectetur VERDE, ROSSO adipiscing elit, sed do eiusmod tempor incididunt ut labore
    e volessi che dintasse

    Codice:
    Lorem ipsum dolor sit amet, consectetur [MIOTAG]VERDE, ROSSO[/MIOTAG] adipiscing elit, sed do eiusmod tempor incididunt ut labore
    E questo su tutte le righe in cui il valore della cella contiene specifiche parole.

    Come si potrebbe fare?
    Ultima modifica di fwe : 26-05-2022 alle ore 17.13.41

  2. #2
    frasidipace non è connesso AlterGuru
    Data registrazione
    07-05-2010
    Messaggi
    2,369

    Predefinito

    Salve,
    può utilizzare la funzione UPDATE, ad es.:
    Codice:
    UPDATE nome_tabella SET nome_campo = 'Lorem ispum...' WHERE condizione
    Può fare riferimento alla documentazione MySQL.

    Saluti
    Ultima modifica di frasidipace : 26-05-2022 alle ore 17.37.45

  3. #3
    fwe
    fwe non è connesso Neofita
    Data registrazione
    02-01-2019
    Messaggi
    12

    Predefinito

    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.
    Ultima modifica di fwe : 26-05-2022 alle ore 21.45.25

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •