Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: replace
Forum PHP.pl > Forum > Bazy danych
peklo
witam
Jak za pomocą polecenia replace można zmienić wpis w bazie. Chodzi mi o taką sytuację ,że mam np maila aaa.wp i chciałbym na koncu lub na początku dodać jakiś tekst np bbbbb

w zasadzie to chyba mozna wykonać też za pomocą update
mstraczkowski
  1. UPDATE `table` SET `column` = REPLACE(`column`, `column`, CONCAT('bbb', `column`));

Nie jestem pewny, czy powyższe zapytanie zadziała prawidłowo (pisane z głowy)

Dodatkowo dołączam materiały:

http://dev.mysql.com/doc/refman/5.0/en/replace.html
http://dev.mysql.com/doc/refman/5.0/en/str...function_concat

Tylko, że to jest takie wymuszone użycie funkcji REPLACE - bo o to prosiłeś w swoim poście.
To zadanie można rozwiązać w dużo prostszy sposób:

  1. -- Dodanie "bbb" na początku
  2. UPDATE `table` SET `column` = CONCAT('bbb', `column`);
  3.  
  4. -- Dodanie "bbb" na końcu
  5. UPDATE `table` SET `column` = CONCAT(`column`, 'bbb');
peklo
ok, a skąd pobieram nazwę maila? Bo rozumiem że column to nazwa zmiennej w tabeli
mstraczkowski
Podane przeze mnie przykładowe `column` jest nazwą kolumny w tabeli, w której przechowujesz wartości do zmiany (prawdopodobnie wspomniane adresy e-mail)

Załóżmy, że posiadasz tabelę z adresami e-mail o nazwie adresy_email, a w niej zawarta jest kolumna o nazwie email
Więc twoje zapytanie powinno wyglądać w sposób następujący:

  1. UPDATE `adresy_email` SET `email` = CONCAT('bbb', `email`);
peklo
ok, dzięki przetestuje to w praktyce. Dałbym ci plusa ale nie działa mi przycisk pomógł
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.