Cột AUTO_INCREMENT tự động sinh giá trị duy nhất tăng dần khi chèn hàng mới mà không chỉ định giá trị cho cột đó. Thường dùng cho khóa chính.
Ví dụ minh họa
Tạo bảng với cột Id tự tăng:
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(20),
LastName VARCHAR(20)
);
Chèn dữ liệu (không đưa Id):
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('John', 'Smith');
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('Chris', 'Brown');
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('Carol', 'Taylor');
Xem dữ liệu:
mysql> SELECT * FROM DemoTable;
Kết quả
+----+-----------+----------+ | Id | FirstName | LastName | +----+-----------+----------+ | 1 | John | Smith | | 2 | Chris | Brown | | 3 | Carol | Taylor | +----+-----------+----------+
Mẹo:
- Dùng
LAST_INSERT_ID()ngay sauINSERTđể lấy ID vừa sinh. - Đặt giá trị khởi đầu:
AUTO_INCREMENT = 100trongCREATE TABLEhoặcALTER TABLE. - Khi xóa hàng cuối, giá trị AUTO_INCREMENT không tự giảm (trừ khi
TRUNCATE TABLE).