Middle
Mi a különbség a DELETE és a TRUNCATE között SQL-ben?
sobes.tech MI
Válasz az MI-től
A DELETE és a TRUNCATE közötti fő különbségek SQL-ben:
- DELETE soronként törli a sorokat egy táblából, és tartalmazhat
WHEREfeltételt. A művelet naplózásra kerül, így visszavonható (ROLLBACK). - TRUNCATE teljes egészében törli a táblából az összes sort, anélkül, hogy feltételt lehetne megadni. Gyorsabb művelet, mivel nem naplózza minden sor törlését, hanem az adatlapokat alaphelyzetbe állítja.
Példa:
DELETE FROM users WHERE age < 18; -- csak a 18 év alatti felhasználókat törli
TRUNCATE TABLE users; -- az összes felhasználót egyszerre törli
Ezenkívül a TRUNCATE általában visszaállítja az automatikus növelő számlálókat, míg a DELETE nem.