30/09/2018, 17:39

Phát sinh số thứ tự tự động trong SQL

anh chị nào rành SQL cho em hỏi câu này với, khi code sql em để phát sinh số thứ tự tự động bằng cách sử dụng:
" STT int identity(1, 1)"
Nhập dữ liệu vào các dữ liệu có STT là: 1, 2, 3, 4. Nhưng khi em xóa record thứ 2 thì STT 3,4 vẫn giữ nguyên. Có cách nào khi xóa phần tử thứ 2 thì phần tử thứ 3,4 tự động cập nhật thành 2, 3 không ạ.

buithaiminh viết 19:40 ngày 30/09/2018

Đừng cầu kỳ quá bạn nhé, việc đó có ý nghĩa của riêng nó. ID dùng để định danh đó chỉ tồn tại duy nhất một và chỉ một, sau này nó còn liên quan đến nhiều cái khác nữa… Một lời khó nói hết, bạn tìm hiểu thêm về uniqueidentifier in sql nhé

Dũng Kon viết 19:54 ngày 30/09/2018

tks bạn đã hiểu, nhưng STT trên không phải là khóa chính bạn nhé

buithaiminh viết 19:55 ngày 30/09/2018

Nếu STT không phải khóa chính vậy cho hỏi bạn dùng nó với mục đích gì?

Khánh Hưng Nguyễn viết 19:46 ngày 30/09/2018

Bạn có thể sử dụng ROW_NUMBER() OVER để update lại STT.

Dũng Kon viết 19:42 ngày 30/09/2018

mình dùng nó để đếm số lượng bản ghi thôi. Mà bạn nói cũng đúng ko nên quá cầu kì. Vậy mình bỏ nó đi vậy

buithaiminh viết 19:45 ngày 30/09/2018

Nếu đơn giản chỉ đếm số lượng rows thì bạn dùng count() đi (bỏ qua null nhé).

Bài liên quan
0