Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Aktualizacja
Forum PHP.pl > Forum > Bazy danych > MySQL
Lexus
Witam, jestem kompletnie zielony jeśli chodzi o jakiekolwiek programowanie itp. Potrzebuję zapytania do SQL które zamieniłoby w całej bazie linki z http://hardpc.pl na http://hard-pc.pl, chodzi tutaj również o linki typu http://hardpc.pl/images/xxx na http://hard-pc.pl/images/xxx W zapytaniu mogą być puste miejsca, tylko powiedzcie co tam powinno się znaleźć. Z góry dzięki
wijet
Napisz jaka wersja MySQL, jak 5 to mozna jakas petla napisac.

EDIT

Jesli masz dostep do tej bazy z poziomu php to prostrze wydaje mi sie napisanie skryptu, ktory
odczyta, przerobi a nastepnie zapisze wszystkie linki.
Lexus
Cytat(wijet @ 22.09.2006, 19:05:26 ) *
Napisz jaka wersja MySQL, jak 5 to mozna jakas petla napisac.

EDIT

Jesli masz dostep do tej bazy z poziomu php to prostrze wydaje mi sie napisanie skryptu, ktory
odczyta, przerobi a nastepnie zapisze wszystkie linki.

Niestety nie wiem jaka jest wersja mysql, strona stoi na serwerze webd.pl. napisanie takiego skryptu to dużo roboty ?
wijet
Zalozylem ze mam tabele o nazwie aktualizaacja 2 kolumny id unikalna i link (wiadomo co zawieraja)


  1. <?php
  2. $conn =mysqli_connect('localhost','login_uzytkownika','haslo');
  3. mysqli_select_db($conn,'nazwa_bazy_danych');
  4. $res = mysqli_query($conn,'select * from aktualizacja');
  5. //wyciagamy id i link
  6. $i=0;
  7.  
  8. while($row = mysqli_fetch_row($res))
  9. {  
  10. $tab[$i]['id'] = $row[0];
  11. $tab[$i]['link'] = preg_replace('/hardpc/','hard-pc',$row[1]);
  12. //zamieniamy hardpc na hard-pc i zapisujemy wraz z id linku w tablicy tab
  13. $i++;
  14.  
  15. }
  16.  
  17. foreach($tab as $data)
  18. {
  19. mysqli_query($conn,"UPDATE aktualizacja SET link='$data[link]' WHERE id=$data[id]");
  20. // robimy update rekordow na podstawie id
  21. }
  22. ?>



Pamietaj o zrobieniu kopi danych przed zrobieniem aktualizacja!

EDIT
@Skrobi
Faktycznie duzo szybciej i prosciej, nie wiedzialem o takim rozwiazaniu,czegos sie nauczylem! tongue.gif
Skobi
tak bedzie najszybciej:

  1. UPDATE test SET domena = REPLACE(domena,'http://hardpc.pl', 'http://hard-pc.pl');
Lexus
Zrobiłem to takim zapytaniem

  1. UPDATE nazwa_tabeli SET nazwa_komórki = REPLACE(nazwa_komórki,'hardpc','hard-pc');
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.