| Zobacz poprzedni temat :: Zobacz następny temat |
| Autor |
Wiadomość |
firek
Dołączył: 19 Lut 2011 Posty: 11
|
Wysłany: Wto Sty 31, 2012 6:39 pm Temat postu: [MySQL] Zmiana istniejących już danych |
|
|
Witam. Mam problem, nie mogę zamienić interesującego mnie ciągu znaków.
| Kod: |  UPDATE `dodatni`.`szablony` SET `tresc` = REPLACE(`tresc`,'[ img ][ /img ]', 'fotki')
|
To działa tylko pomiędzy znacznikami img zawsze są różne linki jak to zrobić żeby zamieniało też z linkami czyli jak mam w tresc = | Cytat: | | [ img ]http://www.coderscity.pl/templates/subSilver/images/logo_phpBB.gif[ /img ] |
i w innym tresc =
| Cytat: | | [ img ]http://pics5.inxhost.com/images/sticker.gif[ /img ] |
To zamieni mi oba na fotki. Komenda
| Kod: |  UPDATE `dodatni`.`szablony` SET `tresc` = REPLACE(`tresc`,'[ img ]%[ /img ]', 'fotki')
|
Nie działa |
|
| Powrót do góry |
|
 |
|
|
marcin_an Site Admin
Dołączył: 26 Maj 2005 Posty: 17278 Skąd: z drugiej strony Kabla
|
Wysłany: Wto Sty 31, 2012 7:01 pm Temat postu: |
|
|
Wyjaśnij może najpierw, co chcesz zamienić i na co. Narazie napisałeś, co ci nie działa, ale nijak nie można odgadnąć, do czego to było potrzebne. Jaki ciąg znaków chcesz zamienić? Na co? Konkretnie i jasno. _________________ Matematyka to taki twór, który pozwala opisać sokowirówkę jako urządzenie pobierające ujemne odpadki i produkujące z nich sok. "Lameria atakuje" | RTFM | UMLet - edytor UML inaczej | Wykłady ks.Pawlukiewicza |
|
| Powrót do góry |
|
 |
firek
Dołączył: 19 Lut 2011 Posty: 11
|
Wysłany: Wto Sty 31, 2012 8:41 pm Temat postu: |
|
|
To jeszcze raz. Mam baze danych. Mam w niej około 500 wpisów po 500 znaków każdy około. I z połowy muszę usunać taki tekst "[img ]Tutaj jakiś adres [/img]" i mam problem ponieważ chciałbym ten tekst zamienić na samo słowo " obrazek " czyli przykładowo " [img ]http://www.coderscity.pl/templates/subSilver/images/logo_phpBB.gif[/img] " ma zostać zamienienione na słowo obrazek . Nie wiem jak sobie z tym poradzić. |
|
| Powrót do góry |
|
 |
marcin_an Site Admin
Dołączył: 26 Maj 2005 Posty: 17278 Skąd: z drugiej strony Kabla
|
Wysłany: Wto Sty 31, 2012 8:48 pm Temat postu: |
|
|
AFAIK nie ma takiej możliwości.
Swoją drogą: dla jednorazowego podmienienia danych w mikroskopijnej bazie danych bawić się w próbę optymalizacji operacji przez robienie jej po stronie serwera? Na co takie męczenie się? Robiąc to normalnie, miałbyś już dawno zrobione zanim zdążyłbyś napisać pytanie na forum. _________________ Matematyka to taki twór, który pozwala opisać sokowirówkę jako urządzenie pobierające ujemne odpadki i produkujące z nich sok. "Lameria atakuje" | RTFM | UMLet - edytor UML inaczej | Wykłady ks.Pawlukiewicza |
|
| Powrót do góry |
|
 |
firek
Dołączył: 19 Lut 2011 Posty: 11
|
Wysłany: Wto Sty 31, 2012 8:50 pm Temat postu: |
|
|
| Normalnie?. Mógłbyś mi troszkę poradzić.. byłbym wdzięczny :) |
|
| Powrót do góry |
|
 |
marcin_an Site Admin
Dołączył: 26 Maj 2005 Posty: 17278 Skąd: z drugiej strony Kabla
|
|
| Powrót do góry |
|
 |
firek
Dołączył: 19 Lut 2011 Posty: 11
|
Wysłany: Wto Sty 31, 2012 9:16 pm Temat postu: |
|
|
| 250 wpisów raczej nie będę odręcznie usuwać, więc może masz jakiś kod.. lub wskazówkę jak to wykonać. |
|
| Powrót do góry |
|
 |
biernik

Dołączył: 06 Wrz 2008 Posty: 1024 Skąd: 63°59'37''N 22°37'58''W
|
Wysłany: Wto Sty 31, 2012 9:31 pm Temat postu: |
|
|
Marcin chyba ma na myśli, żebyś to zrobił w Twoim Ulubionym Języku Programowania(tm). Jeżeli nie masz żadnego, to pewnie jakiś excel Ci wystarczy.
Nie znam MySql ale np w Oracle zrobił bym to regexpem, może MySql ma coś takiego? --Edit: Nie chciało mi się klikać na linki ale szybkie odpytanie internetu coś tam zwraca _________________ I like cheese. |
|
| Powrót do góry |
|
 |
marcin_an Site Admin
Dołączył: 26 Maj 2005 Posty: 17278 Skąd: z drugiej strony Kabla
|
Wysłany: Wto Sty 31, 2012 9:46 pm Temat postu: |
|
|
| biernik napisał: | | Nie znam MySql ale np w Oracle zrobił bym to regexpem, może MySql ma coś takiego? | MySQL nie ma regeksowego podmieniania. Jest jedynie operator REGEXP, który sprawdza, czy dany ciąg znaków jest zgodny z wyrazeniem regularnym. Tutaj nie ma to jednak zastosowania. Możnaby próbować robić to przez wielokrotne wywołanie funkcji użytkownika z SUBSTRING_INDEX, cięcie i potem podmienianie, ale o wiele prościej będzie bez SQL. Parafrazując Zawinskiego: | Cytat: | | Some people, when confronted with a problem in a database, think "I know, I'll use SQL." Now they have two problems. |
_________________ Matematyka to taki twór, który pozwala opisać sokowirówkę jako urządzenie pobierające ujemne odpadki i produkujące z nich sok. "Lameria atakuje" | RTFM | UMLet - edytor UML inaczej | Wykłady ks.Pawlukiewicza |
|
| Powrót do góry |
|
 |
biernik

Dołączył: 06 Wrz 2008 Posty: 1024 Skąd: 63°59'37''N 22°37'58''W
|
Wysłany: Wto Sty 31, 2012 10:55 pm Temat postu: |
|
|
| marcin_an napisał: | Parafrazując Zawinskiego: | Cytat: | | Some people, when confronted with a problem in a database, think "I know, I'll use SQL." Now they have two problems. |
|
Fajne, ale nie dotyczy Oracle :) Moja pierwsza baza z jaką pracowałem to był Sql Server ale było to dość krótko, potem musiałem zrobić przesiadkę na Oracle i na początku bardzo na niego kląłem, był taki "inny" i "dziwny". Ale po trzech latach używania naprawdę go lubię, da się w nim zrobić praktycznie wszystko, jak nie w SQL to w PL/SQL. Nie mogę sobie przypomnieć kiedy ostatni raz musiałem wytargać dane poza bazę żeby coś z nimi robić. Co prawda Oracle trochę przypomina człowieka orkiestrę, ale dzięki temu można tam prawie wszystko(np. emaile wysyłam bezpośrednio z Oracla). Takie problemy jak powyżej w Oraclu załatwia się w kilka sekund. Po co wyjmować dane z bazy jak się ma regexpy, pivoty, modele, xmle, całe mnóstwo dziwnych funkcji(np overlaps, ntile czy lnnvl) i nie wiadomo co jeszcze. Takie moje małe Oracle advocacy, dziękuję za uwagę :) _________________ I like cheese. |
|
| Powrót do góry |
|
 |
|