Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Polecenie zamiany ciagu znakow
Forum PHP.pl > Forum > Bazy danych > MySQL
kecul
Witam ... mam baze danych mysql skladajaca sie z ponad 150 tabel ... W tabelach tych znajduja sie rozne wartosci.wpisy itp ...

Czy jest jakis sposob na zamiane wpisu w tabeli ?

Chce aby kazde slowo "TRELEMORELE" ktore zostalo odnalezione w tabelach zostało zamienione na "PARARARAR" ... jak to uczynic ?
prond
Jeżeli masz możliwość wyłączenia serwisu na parę minut to według mnie najszybciej będzie zrobić dump'a.
Następnie zrobić skrypt, który pozamienia Tobie to, co chcesz.
Na koniec zrobić restore.
kecul
Baza danych liczy sobie okolo 700mb wiec eksportowanie ... importowanie w ogole odpada
prond
A może tak:

Pobierz listę tabel i kolumn z information_schema.columns, gdzie data_type jest varchar lub text:
  1. SELECT table_name, column_name
  2. FROM information_schema.COLUMNS WHERE table_schema = 'nazwa_bazy' AND data_type IN ('varchar', 'text');


Pobierz też dla każdej tabeli klucz:
  1. SELECT table_name, column_name
  2. FROM information_schema.COLUMNS WHERE table_schema = 'nazwa_bazy' AND column_key = 'PRI';


No i teraz zrób pętle z UPDATE'm z wykorzystaniem funkcji REPLACE()
kecul
mam to uczynic z poziomu phpmyadmin ?
prond
Nie - to jest pomysł na skrypt (plus przydatne SQL'ki), który musisz napisać sam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.