---
title: "What are difference between truncate and delete?"  
description: "What are difference between truncate and delete?"  
author: "Sumit Kesarwani"  
published: 2014-11-20  
updated: 2020-09-16  
canonical: https://www.mindstick.com/interview/2254/what-are-difference-between-truncate-and-delete  
category: "mssql server"  
tags: ["mssql server"]  
reading_time: 1 minute  

---

# What are difference between truncate and delete?

1) Delete keep the lock over each row where Truncate keeps the lock on table not on all the row.

2) Counter of the Identity column is reset in Truncate where it is not reset in Delete.

3) Trigger is not fired in Truncate where as trigger is fired in Delete.

4) In TRUNCATE we cannot rollback.

5) In DELETE we can rollback

## Answers

### Answer by Sumit Kesarwani

1) Delete keep the lock over each row where Truncate keeps the lock on table not on all the row.

2) Counter of the Identity column is reset in Truncate where it is not reset in Delete.

3) Trigger is not fired in Truncate where as trigger is fired in Delete.

4) In TRUNCATE we cannot rollback.

5) In DELETE we can rollback


---

Original Source: https://www.mindstick.com/interview/2254/what-are-difference-between-truncate-and-delete

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
