Các thao tác TRUNCATE
và DELETE
ảnh hưởng như thế nào đến cột Identity
trong SQL?
Các thao tác TRUNCATE
và DELETE
ảnh hưởng như thế nào đến cột Identity
trong SQL?
Các thao tác TRUNCATE và DELETE có những ảnh hưởng khác nhau đối với cột Identity trong SQL Server. Khi sử dụng lệnh TRUNCATE, bộ đếm của cột Identity sẽ được đặt lại về giá trị gốc (seed value) được định nghĩa cho cột đó. Nếu không có giá trị gốc nào được định nghĩa, giá trị mặc định là 1 sẽ được sử dụng. Điều này có nghĩa là sau khi thực hiện lệnh TRUNCATE, nếu bạn thêm dữ liệu mới vào bảng, bộ đếm Identity sẽ bắt đầu lại từ 1 hoặc giá trị gốc đã định nghĩa
Ngược lại, khi sử dụng lệnh DELETE để xóa dữ liệu, bộ đếm của cột Identity không bị đặt lại. Nó sẽ tiếp tục tăng lên từ giá trị cuối cùng mà nó đã đạt được trước khi thực hiện lệnh DELETE. Điều này có nghĩa là sau khi xóa dữ liệu bằng lệnh DELETE, nếu bạn thêm dữ liệu mới, giá trị Identity cho hàng mới sẽ tiếp tục từ giá trị tiếp theo của bộ đếm trước khi xóa
Ví dụ, nếu bạn có một bảng với cột Identity và giá trị cuối cùng là 5, sau khi sử dụng TRUNCATE và thêm một hàng mới, giá trị Identity cho hàng mới sẽ là 1. Tuy nhiên, nếu bạn sử dụng DELETE để xóa tất cả các hàng và sau đó thêm một hàng mới, giá trị Identity cho hàng mới sẽ là 6
senior
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào