Advertisement:

Author Topic: Modificare un valore nel db in batch  (Read 960 times)

Offline Tanakino

  • Full Member
  • ***
  • Posts: 516
Modificare un valore nel db in batch
« on: January 23, 2013, 06:30:25 AM »
Ciao a tutti !


Come posso fare con una istruzione sql a variare un dato che compare in molte tabelle ?

Facciamo un esempio : poniamo che un utente ha aperto un topic con un errore ad esempio "Gita in alta montaNia" ( anzichè montagna ) .

Ora la stringa "montania" è finita in varie tabelle ( pretty url, log, ecc.. ) .

Come posso con una istruzione dire : cerca il termine "montania" in tutto il db e dove lo incontri, modificalo con "montagna" .


Grazieeee !!


T.

Offline emanuele

  • SMF Super Hero
  • *******
  • Posts: 14,156
  • Gender: Male
  • THERE'S JUST ME
Re: Modificare un valore nel db in batch
« Reply #1 on: January 23, 2013, 08:00:26 AM »
Nope. O almeno niente di facile.
Devi entrare in ogni tabella e modificare.


Take a peek at what I'm doing! ;D



Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

Offline Tanakino

  • Full Member
  • ***
  • Posts: 516
Re: Modificare un valore nel db in batch
« Reply #2 on: January 23, 2013, 08:09:28 AM »
Ciao Emanuele e grazie .

Una volta individuate le tabelle in cui ricorre la stringa, come posso fare ? Quale è l'istruzione sql per cercare il termine nella tabella e variarlo ?

Grazie !



T.

Offline emanuele

  • SMF Super Hero
  • *******
  • Posts: 14,156
  • Gender: Male
  • THERE'S JUST ME
Re: Modificare un valore nel db in batch
« Reply #3 on: January 23, 2013, 08:20:32 AM »
Se è un solo record usa il pulsante modifica di phpmyadmin e vai tranquillo.
Se sono "molti":
Code: [Select]
UPDATE smf_tabella
SET colonna = REPLACE(colonna, 'vecchio testo', 'nuovo testo')
WHERE 1=1


Take a peek at what I'm doing! ;D



Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

Offline Tanakino

  • Full Member
  • ***
  • Posts: 516
Re: Modificare un valore nel db in batch
« Reply #4 on: January 26, 2013, 09:23:50 AM »
Grazie Emanuele,

posso chiederti cosa significa il Where 1 = 1 ? perchè è necessario e cosa mette in paragone ?


Grazie.

T.

Offline emanuele

  • SMF Super Hero
  • *******
  • Posts: 14,156
  • Gender: Male
  • THERE'S JUST ME
Re: Modificare un valore nel db in batch
« Reply #5 on: January 26, 2013, 12:36:14 PM »
Niente, è come dire fallo per tutti i campi.
Di fatto il where può anche essere tralasciato in questo caso, è l'abitudine... ;)


Take a peek at what I'm doing! ;D



Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

Offline Tanakino

  • Full Member
  • ***
  • Posts: 516
Re: Modificare un valore nel db in batch
« Reply #6 on: January 27, 2013, 12:17:16 PM »
Niente, è come dire fallo per tutti i campi.
Di fatto il where può anche essere tralasciato in questo caso, è l'abitudine... ;)

Grazie Emanuele !


T.