TRUNCATE

Z Wikipedie, otevřené encyklopedie

TRUNCATE je v oblasti databází příkaz SQL pro smazání všech záznamů z tabulky.

Vlastnosti[editovat | editovat zdroj]

  • Vyprázdnění dat pomocí TRUNCATE je mnohem rychlejší než mazání pomocí DELETE.
  • Na rozdíl od příkazu DROP TABLE po TRUNCATE zůstane v databázi struktura dané tabulky.
  • TRUNCATE vyprázdní všechny záznamy dané tabulky (tabulek), podobně jako zrušení tabulky a její následné znovuvytvoření. (Z toho důvodu příkaz vyžaduje práva pro rušení a vytváření tabulek.)
  • Pokud tabulka obsahuje primární klíč s vlastností AUTO_INCREMENT, je jeho hodnota resetována na jedničku. To je též rozdíl od příkazu DELETE * FROM TABLE.
  • TRUNCATE aktuálně není součástí žádného standardu SQL, ale mnoho (možná většina) databázových systémů jej podporuje.
  • V případě MySQL je počet ovlivněných záznamů po provedení příkazu TRUNCATE roven nule, bez ohledu na to, kolik záznamů bylo ve skutečnosti smazáno (tj. neindikuje to, že by příkaz selhal).

Syntaxe[editovat | editovat zdroj]

Syntaxe TRUNCATE je následující:

 TRUNCATE [TABLE] [jmeno_databaze.]jmeno_tabulky1 [, jmeno_tabulky2];

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Truncate (SQL) na anglické Wikipedii.

Externí odkazy[editovat | editovat zdroj]