Sử dụng SQL AUTO INCREMENT

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.

auto increament

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.

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA), là người đang tập tành viết lách trên blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. #Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn cần người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận