Jump to content

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


Go to solution Solved by DawPi,

Recommended Posts

Posted (edited)

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?

Edited by aster
  • Manager
Posted

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.

  • Thanks 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Posted

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
Posted

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.

Posted

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 ?

Posted

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?

  • Manager
Posted

Problem ROZWIĄZANY. Jeśli są jakiekolwiek wątpliwości, pytania proszę o założenie nowego tematu.

Wszelkie uzasadnione reklamacje/pretensje/sugestie/rady przyjmuje ekipa forum.

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.