Spróbuj wstawić nowy rekord do tablicy. 
 Składnia polecenia REPLACE jest 					   następująca: (patrz Listing 1.0)   lub 					   (patrz Listing 2.0)   lub też (patrz Listing 3.0)   Polecenie REPLACE działa dokładnie  					          tak samo jak INSERT, 					          z tym, że jeśli w tablicy nazwa_tab istnieje już rekord o takiej samej wartości 					          PRIMARY KEY lub indeksu 					          UNIQUE, to poprzedni 					          rekord jest najpierw usuwany a dopiero wtedy wstawiany 					          nowy. Jest to więc polecenie, które powoduje bardziej 					          bezpośrednie skutki niż polecenie 					          UPDATE. Z tego powodu  					          jest więc i bardziej niebezpieczne i wygodniejsze, bowiem 					          jeśli nie ma danego rekordu w tablicy a chcielibyśmy wykonać 					          UPDATE tego rekordu, to 					          polecenie UPDATE się nie wykona. 					          natomiast polecenie REPLACE wykona się. Czasem jest to pożądane działanie  					          a czasem nie jest. Należy umieć rozróżnić 					          te dwa przypadki i wybrać odpowiednie rozwiązanie 					          (albo UPDATE albo 					          REPLACE). Należy zauważyć, że polecenie REPLACE nie ma sensu, jeśli tablica nie zawiera klucza podstawowego 					          (PRIMARY KEY) lub 					          unikalnego (UNIQUE). 					          Wtedy po prostu polecenie REPLACE jest równoważne poleceniu INSERT, 					          gdyż nie ma indeksu, na podstawie którego można określić 					          czy nowy rekord zastąpi poprzedni. Wartości wszystkich kolumn sa tak jak w przypadku  					          polecenia INSERT podawane w wyrażeniu. Jeśli pominiemy jakieś 					          kolumny, to ich wartości zostaną nadane 					          na podstawie wartości domyślnych zdefiniowanych 					          podczas definiowania struktury tablicy. Aby można było używać polecenia REPLACE musimy mieć prawo do wykonywania poleceń 					          INSERT oraz 					          DELETE dla danej 					          tabeli. Polecenie REPLACE zwraca liczbę zmienionych rekordów (usuniętych starych 					          i wstawionych nowych). Jeśli ta liczba wynosi 1 (dla 					          pojedynczego polecenia REPLACE działającego na jednym rekordzie), to oznacza to, że 					          został wstyawiony jeden nowy rekord do tablicy, 					          ale nie został usunięty żaden stary rekord. 					          Jeśli natomiast ta liczba jest większa niż 1, 					          to oznacza to, ze zostało usuniętych 1 lub więcej 					          nowych rekordów zostało usuniętych zanim zostały 					          wstawione nowe rekordy. 					          Inaczej mówiąc, jeśli REPLACE zwraca 1 to znaczy, że rekord został dodany, 					          natomiast jeśli REPLACE zwróci więcej niż 1, to zostyał zamieniony. Należy zauważyć, że może się zdażyć sytuacja,  					          w której za pomocą jednego polecenia  					          REPLACE, przeznaczonego 					          teoretycznie dla jednego rekordu, zostanie  					          zastąpionych więcej niż jeden starych rekordów. 					          Stanie się tak wówczas, gdy tablica zawiera  					          wielokrotne, unikalne indeksy i nowy rekord 					          duplikuje wartości dla różnych, starych rekordów 					          z różnymi unikalnymi indeksami. Algorytm stosowany przez MySQL podczas wykonywania 					          polecenia REPLACE jest 					          następujący:
Listing
REPLACE
[LOW_PRIORITY | DELAYED]
[INTO] nazwa_tab [(nazwa_kol1,nazwa_kol2...)]
VALUES ({wyr | DEFAULT},...),(...),...
--Listing 2.0
REPLACE
[LOW_PRIORITY | DELAYED]
[INTO] nazwa_tab
SET nazwa_kol={wyr | DEFAULT}, ...
--Listing 3.0
REPLACE
[LOW_PRIORITY | DELAYED]
[INTO] nazwa_tab [(nazwa_kol,...)]
SELECT ...
--Lisitng 4.0
Ranga: Administrator serwisu Punktów: 0
- Zobacz kod dodany do tego wpisu
  	 		- 
				UPDATE tabela_klient SET imie = REPLACE(imie, 'stare imie', 'nowe imie')
 
- 
				



 
  
				

 
                             
 


 
                        
 
		 
	