TRUNCATE
Vzhled
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
poTRUNCATE
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říkazuDELETE * 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.