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, mình là Dương Nguyễn tác giả của blog này. Với gần 20 năm làm việc trong lĩnh vực CNTT, VT trong và ngoài nước, mong muốn được chia sẻ kiến thức và kinh nghiệm về database với các bạn đam mê và quan tâm đến lĩnh vực này. Đặc biệt là #OracleDatabase hoặc luyện thi #OCP database admin. Các bạn cần người đồng hành thì alo mình 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