Ответ
TRUNCATE — это оператор SQL, который быстро удаляет все строки из таблицы, не записывая изменения построчно в журнал транзакций (в отличие от DELETE). Он работает быстрее, но имеет ограничения:
- Нельзя использовать с условиями WHERE (удаляет всю таблицу сразу).
- Не вызывает триггеры на удаление.
- Сбрасывает автоинкрементные счётчики (в большинстве СУБД).
- Требует прав на DROP таблицы.
Пример:
TRUNCATE TABLE employees; -- Очищает таблицу employees
Важно: TRUNCATE нельзя откатить в некоторых СУБД (например, MySQL без поддержки транзакций для DDL).