Middle
Koja je razlika između DELETE i TRUNCATE u SQL?
sobes.tech АИ
Одговор од АИ
Основне разлике између DELETE и TRUNCATE у SQL:
- DELETE брисе редове из табеле ред по ред и може имати услов
WHERE. Операција се региструје у логу, што омогућава повратак (ROLLBACK). - TRUNCATE брисе све редове из табеле у целости, без могућности да се наведе услов. Ово је бржа операција, јер не региструје брисање сваког реда појединачно, већ ресетује странице података.
Пример:
DELETE FROM users WHERE age < 18; -- брисаће само кориснике млађе од 18 година
TRUNCATE TABLE users; -- брисаће све кориснике одједном
Такође, TRUNCATE обично ресетује бројаче аутоматског увећања, док DELETE не.