Tôi đã tạo một bảng mới trong SQL Server 2008 R2 và tôi muốn chỉ mục đó là tự động phân bổ. Làm thế nào để làm điều đó? Không có loại dữ liệu nhận dạng; tôi chọn intTự động lập chỉ mục cho Microsoft SQL Server 2008 R2
Trả lời
Trong SQL Server, nó không phải là một kiểu dữ liệu riêng biệt ("autoincrement") - nhưng bạn có thể xác định một cột INT
là một IDENTITY
.
Bạn đang tạo bảng của mình như thế nào - nhà thiết kế trực quan hoặc tập lệnh T-SQL ??
Trong T-SQL, bạn sẽ sử dụng:
CREATE TABLE dbo.MyTable(ID INT IDENTITY(1,1) ......
và trong thiết kế bảng thị giác, bạn cần kiểm tra:
Đó là một lựa chọn cho một cột kiểu INT - bạn có thể xác định hạt giống (giá trị bắt đầu) và gia số - thông thường cả hai được đặt thành 1.
Nếu định nghĩa bảng của bạn giống như thế này,
....,
@id int,
....
thay đổi nó để,
....
@id int identity(1,1),
....
này sẽ tạo ra một cột sắc mà bắt đầu id với 1 và tiếp tục tăng nó bằng một (nghĩa. bước) vì mỗi bản ghi trong bảng được chèn vào.
@id đến đâu? – gbn
+1: Đối với hình ảnh –
Cảm ơn rất nhiều! Tôi đang sử dụng MS SQL Management Studio - nhà thiết kế trực quan –