AUTO INCREMENT là một tính năng trong SQL cho phép tự động tăng giá trị của một cột số nguyên (integer) mỗi khi một bản ghi mới được chèn vào bảng. Tính năng này thường được sử dụng cho cột khóa chính (primary key) để đảm bảo tính duy nhất cho mỗi bản ghi.
Cú pháp sử dụng:
MySQL
CREATE TABLE Persons ( Personid int NOT NULL AUTO_INCREMENT, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, PRIMARY KEY (Personid) ); ALTER TABLE Persons AUTO_INCREMENT=100;
SQL Server
CREATE TABLE Persons ( Personid int IDENTITY(1,1) PRIMARY KEY, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int );
Oracle:
--khởi tạo seq CREATE SEQUENCE seq_person MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10; --Chèn data vào CSDL INSERT INTO Persons (Personid,FirstName,LastName) VALUES (seq_person.nextval,'Lars','Monsen');
Lợi ích của việc sử dụng AUTO INCREMENT:
- Đảm bảo tính duy nhất cho mỗi bản ghi: Mỗi bản ghi sẽ có một giá trị khóa chính riêng biệt, giúp việc truy xuất dữ liệu dễ dàng hơn.
- Giảm thiểu lỗi dữ liệu: Loại bỏ nguy cơ nhập sai giá trị khóa chính.
- Tăng hiệu quả: Tự động tăng giá trị giúp việc chèn dữ liệu mới nhanh chóng hơn.
Lưu ý:
- AUTO INCREMENT chỉ hoạt động với các cột số nguyên.
- Giá trị khởi tạo mặc định cho AUTO INCREMENT là 1.
- Bạn có thể thay đổi giá trị khởi tạo bằng cách sử dụng tham số START WITH.
- AUTO INCREMENT chỉ tăng giá trị khi chèn dữ liệu mới. Khi cập nhật giá trị của cột khóa chính, AUTO INCREMENT không ảnh hưởng.