PDA

View Full Version : Về autonumber trong SQL database



nmd
13-08-2005, 10:49
Ở trong SQL database, nó có cung cấp kiểu dữ liệu autonumber (thực chất là kiểu int nhưng đặt Identity=Yes). Thường thì nó được dùng làm primary key. Mình muốn hỏi là khi nó tăng đến số max rồi thì sẽ ra sao? VD số max của nó là 1000 đi, thì sau đó khi mình add thêm dữ liệu, số đếm đó phải tăng? Có cách nào để reset nó về 1 kô?
Xin cám ơn các bạn.

tn1908
21-08-2005, 07:41
để reset seed, bạn dùng:
DBCC CHECKIDENT ('table_name', RESEED, 1)
bạn nên cẩn thận khi dùng identity column làm primary key. Thuộc tính identity ko đảm bảo column đó sẽ unique (bạn có thể reset lại hoặc insert trực tiếp dữ liệu vào identity column bằng cách dùng set identity_insert on). Mặt khác, nếu bạn khai báo primary key cho identity column thì khi nhiều user cùng insert đồng thời sẽ xảy ra tình trạng "hot spot" vì các dòng dữ liệu mới đó tranh chấp cùng 1 trang dữ liệu (page) ở cuối bảng --> performance bị giảm.

nmd
22-08-2005, 12:14
Xin cam on ban nhieu.