Składnia polecenia TRUNCATE jest 					   następująca   TRUNCATE TABLE nazwa_tablicy;     Polecenie TRUNCATE TABLE usuwa zupełnie 					   wszystkie dane z tablicy o nazwie nazwa_tablicy. 					   Logicznie, jest to ekwiwalent polecenia DELETE usuwającego wszystkie rekordy, jednak są praktyczne różnice. 					   W przypadku tablic typu InnoDB polecenie TRUNCATE TABLE jest zamieniane 					   na odpowiednie polecenie DELETE,  					   więc w tym przypadku nie ma zupełnie różnic, jednak w innych przypadkach 					   są różnice:     Operacja TRUNCATE usuwa zupełnie 						      i tworzy od nowa tablicę co jest znacznie szybsze niż usuwanie rekordu 							  po rekordzie. Operacje TRUNCATE nie są  						      bezpieczne w przypadku transakcji; baza na pewno zgłosi błąd 							  jeśli mamy aktywną transakcję lub zamknięty dostęp do tablicy. Nie jest zwracana liczba usuniętych rekordów. Tak długo jak plik z definicją tablicy  						      (plik 'nazwa_tablicy.frm') 							  jest nieuszkodzony, tak długo można wykonać polecenie 							  TRUNCATE TABLE i w ten sposób odtworzyć pustą tabelę nawet w przypadku kiedy 							  dane z tabeli lub indeksy są uszkodzone. Uchwyt talicy, którym posługuje się wewnętrznie MyQL 						      nie pamięta ostatnio użytej wartości AUTO_INCREMENT ale zaczynać odliczać od początku. Polecenie TRUNCATE TABLE pochodzi 					   od rozszerzenia języka SQL, które wprowadziła firma Oracle.
Listing
Ranga: Administrator serwisu Punktów: 0



 
  
				

 
                             
 


 
                        
 
		 
	