Skocz do zawartości

Jaka komenda w SQL aby zmienić pewnien tekst w bazie na inny?


Przejdź do rozwiązania Rozwiązane przez DawPi,

Rekomendowane odpowiedzi

Opublikowano (edytowane)

Chodzi o posty, chciałbym bezpośrednio w bazie danych zamienić pewien tekst (sformulowanie) na inny.

 

Chodzi tylko o tabelkę w bazie z postami.

 

Jaką komendę SQL użyć aby:

- znaleźć wszystkie przypadki danego słowa w postach?

- zamienić dane słowo na inne?

Edytowane przez aster
  • Manager
Opublikowano

Najpierw sprawdź ile tego masz:

SELECT pid, post 
FROM forums_posts 
WHERE post LIKE '%stare_słowo%';

A potem zmiana:

UPDATE forums_posts 
SET post = REPLACE(post, 'stare_słowo', 'nowe_słowo') 
WHERE post LIKE '%stare_słowo%';

 

Wiadomo, że musowo kopia bazy danych w razie W.

  • Dziękuję 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

Wielkie dzięki!

 

Czy można wymusić by "query" uwzględniał/rozróżniał wielkość liter? Podczas sprawdzanie tego nie robi (przed chwilą sprawdziłem), ale podczas wymiany (nie sprawdziłem jeszcze) nie chciałbym błędnie podmienić tekst ze względu na małe czy duże znaki.

  • Manager
Opublikowano

Hm a sprawdź takie zapytania:

 

SELECT pid, post 
FROM forums_posts 
WHERE post LIKE '%stare_słowo%' COLLATE utf8mb4_bin;


UPDATE forums_posts 
SET post = REPLACE(post COLLATE utf8mb4_bin, 'stare_słowo', 'nowe_słowo') 
WHERE post LIKE '%stare_słowo%' COLLATE utf8mb4_bin;

 

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

U mnie chyba wszystko jest starsze i wydaje mi się, że mam utf8mb3_unicode_ci.

 

Czy w takim razie po prostu wpisać to: COLLATE utf8mb3_unicode_ci ?

Opublikowano

Wielkie dzięki, Twoje rozwiązanie rzeczywiście rozróżnia wielkość liter... a moja opcja pokazuje jakiś http error i nawet nie chce szukać. :)

 

Na razie tylko szukałem.

 

Jeśli natomiast będę robił zmianę danych w postach to czy użycie COLLATE utf8mb4_bin będzie bezpieczne jeśli w tabeli bazy podany jest utf8mb3_unicode_ci (jako Collation) ...oczywiście pod warunkiem, że są tam tylko zwykłe+polskie literki i żadnych 4-bajtowych znaków?

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.