Loading:


Usuwanie wszystkich wierszy w danej tablicy MySQL - TRUNCATE

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.



Napisz Artykuł

Listing

niema


kontakt w sprawie miejsca



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 38423
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-19 v.1.5 | design: diviXdesign & rainbowcolors