Stránka 1 z 1

Nahrazení spousty řetězců v MySQL

Napsal: 21 říj 2009 15:24
od PreTox
Zdravím všechny, mám dotaz pro znalé MySQL - mám několik tabulek a v ní je spousta dat (články) od roku 2000. Jenže borec, co to dělal předtím, tak vkládal do tabulek text ve formátu HTML (tzn. tagy <p>, <br> a podobně). Teď když jsem to po něm převzal, tak jsem udělal formátování textu jinak a potřeboval bych odstranit ze všech tabulek všechno, co tam nemá co dělat. Takže - lze přímo v MySQL vytvořit dotaz, který najde v tabulkách text a nahradí ho? Nebo to lze udělat pouze tak, že to exportuju do souboru, upravím v nějakém texťáku a naimportuju zpět?
Díky za help. :wink:

Re: Nahrazení spousty řetězců v MySQL

Napsal: 21 říj 2009 21:58
od mila79
update <název tabulky> set <název pole tabulky> = REPLACE (<název pole tabulky>, 'původní text', 'nový text') where <podmínky>

takže například:
update TABULKA set text_prispevku = replace (text_prispevku, '<br>', '')

To nahradí všechny řetězce <br> za prázdný řetězec (takže je to vymaže)

Re: Nahrazení spousty řetězců v MySQL  Vyřešeno

Napsal: 22 říj 2009 18:01
od PreTox
Hmm, ať jsem zkoušel, jak jsem zkoušel, tak se mi to nějak zprovoznit nepodařilo, pořád to psalo chybu v syntaxi a nebo že column not exist..

Ale v pohodě, napsal jsem si na to script, který projde celou zadanou tabulku a nahradí řetězce, které mám zvlášť uložené v poli. Pak jenom updatnu řádek a je to. Čekal jsem, že to poběží dlouho, ale byl to mžik :D No jo, localhost je localhost.

Díkes mila79 za help. :wink: