Lỗi sql id identity mang giá trị null năm 2024

SQL Server tích hợp sẵn tính năng Identity, đây là công cụ quan trọng tạo ra các giá trị duy nhất. Nó có thể được so sánh với AutoNumber trong Microsoft Access hoặc dãy số trong Oracle. Bài viết dưới đây sẽ hướng dẫn bạn chi tiết về cách tạo, kiểm tra và điều chỉnh cột Identity trong SQL Server.

Thuộc tính Identity trong một cột tạo ra giá trị mới dựa trên giá trị hiện tại và bước nhảy khi một bản ghi mới được thêm vào bảng. Mỗi giá trị mới được tạo cho mỗi giao dịch cụ thể sẽ khác biệt, đảm bảo tính duy nhất trong bảng. Cột Identity thường được sử dụng làm khóa chính duy nhất khi được chỉ định làm như vậy.

Đọc tiếp để hiểu rõ hơn về cách thức tạo, kiểm tra và điều chỉnh cột Identity trên Microsoft SQL Server.

Hướng Dẫn Tạo, Kiểm Tra và Thay Đổi Cột Identity trên Microsoft SQL Server

Bước 1: Tạo Bảng với Thuộc Tính Identity

Trong phần hướng dẫn này, Mytour sẽ hướng dẫn tạo một bảng mới có tên là TechJourney, bao gồm 3 cột: TechJourneyID , TechJourneyCode và Description.

- Cú pháp SQL:

Tạo Bảng với Tên TableName [ ID int IDENTITY[1,1] NOT NULL, Column1 datatype, Column2 datatype, Column3 datatype, PRIMARY KEY [ID]]

Chạy lệnh SQL sau trong SQL Management Studio:

CREATE TABLE TechJourney [ TechJourneyID int IDENTITY[1,1] NOT NULL, TechJourneyCode [nvarchar][10] NULL, Description [nvarchar][100] NULL, PRIMARY KEY[TechJourneyID]]

Tiếp theo, chèn 2 bản ghi dưới đây vào bảng TechJourney để kiểm tra giá trị Identity:

Chèn vào bảng TechJourney với TechJourneyCode và Description

Giá trị[ 'TJ1', 'Tech Journey 1']

Và:

Chèn vào bảng TechJourney với TechJourneyCode và Description Giá trị[ 'TJ2', 'Tech Journey 2']

Bước 2: Kiểm tra giá trị Identity hiện tại

- Dùng câu lệnh SQL:

DBCC CHECKIDENT[table_name, NORESEED]

Thực hiện lệnh SQL sau trong SQL Management Studio:

Lưu ý: NORESEED là giá trị Identity hiện tại không nên thay đổi.

Bước kế tiếp là kiểm tra giá trị hiện tại sau khi thêm 2 bản ghi.

Thực hiện lệnh SQL sau trong SQL Management Studio:

DBCC CHECKIDENT[TechJourney, NORESEED]

Thông báo trả về như sau:

'Kiểm tra thông tin identity: giá trị hiện tại của identity '2'. DBCC thực hiện xong. Nếu DBCC in ra thông báo lỗi, hãy liên hệ với quản trị hệ thống của bạn'.

Tiếp theo, hãy chọn các bản ghi trong bảng TechJourney để xem giá trị của TechJourneyID như sau:

Bước 3: Thiết lập giá trị identity hiện tại thành giá trị mới

- Cú pháp SQL:

DBCC CHECKIDENT[tên_bảng, RESEED, giá_trị_reseed_mới]

Giả sử muốn thay đổi giá trị hiện tại từ 2 thành 20. Chạy lệnh SQL dưới đây trong SQL Management Studio:

DBCC CHECKIDENT[TechJourney, RESEED, 20]

Sẽ xuất hiện thông báo:

'Kiểm tra thông tin Identity: giá trị Identity hiện tại '2'.

Quá trình thực hiện DBCC đã hoàn thành. Nếu có thông báo lỗi, hãy liên hệ với quản trị hệ thống của bạn'.

Kiểm tra lại giá trị Identity hiện tại một lần nữa bằng cách chạy lệnh SQL dưới đây trong SQL Management Studio:

DBCC CHECKIDENT[TechJourney, NORESEED]

Sẽ xuất hiện thông báo:

'Kiểm tra thông tin Identity: giá trị Identity hiện tại '20', giá trị cột hiện tại '2'. Quá trình thực hiện DBCC đã hoàn thành. Nếu có thông báo lỗi, hãy liên hệ với quản trị hệ thống của bạn'.

Ở bước trước, chúng ta đã thêm 2 bản ghi vào bảng và giá trị Identity hiện tại là 2.

Thực hiện thêm 2 bản ghi vào bảng TechJourney bằng cách chạy lệnh SQL sau:

Insert into TechJourney[ TechJourneyCode, Description]

Values[ 'TJ3', 'Tech Journey 3']

Thêm mới vào Hành trình Công nghệ[MãHànhTrìnhCôngNghệ, Mô tả]

Giá trị[ 'HTCN4', 'Hành trình Công nghệ 4']

Chọn tất cả các bản ghi trong bảng Hành trình Công nghệ để xem giá trị MãHànhTrìnhCôngNghệ như sau:

MãHànhTrìnhCôngNghệ cho T3 là 21 = 20 [giá trị tự động mới] + 1 [giá trị tăng].

Chia sẻ mới trên Mytour về cách bạn có thể tạo, kiểm tra và điều chỉnh cột Identity trên Microsoft SQL Server. Cùng với các bài hướng dẫn về SQL Server như cách đặt lại mật khẩu SA khi bị mất trên SQL Server, giúp bạn mở rộng hiểu biết về hệ thống này. Nếu có bất kỳ thắc mắc nào cần giải đáp, bạn đọc có thể để lại ý kiến của mình trong phần bình luận ở dưới bài viết.

Nội dung được phát triển bởi đội ngũ Mytour với mục đích chăm sóc và tăng trải nghiệm khách hàng.

Chủ Đề