Tiếp tục với chủ đề bài viết Học MySQL cơ bản, bài viết hôm nay chúng ta sẽ tìm hiểu về thuộc tính AUTO_INCREMENT – Thuộc tính cột có giá trị tự động tăng dần trong MySQL.
Thuộc tính AUTO_INCREMENT trong MySQL
AUTO_INCREMENT nói nôm na là tăng tự động, có nghĩa là nếu bạn thiết lập một column nào đó thuộc tính AUTO_INCREMENT thì khi bạn thêm record mới bạn không cần phải truyền data cho nó và nó sẽ tự lấy giá trị lớn nhất tăng lên 1. Hoặc trong một số trường hợp nó sẽ không lấy giá trị lớn nhất cộng thêm 1 nhưng về cơ bản sẽ tuân theo các quy tác sau đây.
- AUTO_INCREMENT chỉ thiết lập được cho kiểu INT và mỗi bảng chỉ có một field duy nhất, nếu bạn thiết lập 2 fields là AUTO_INCREMENT thì sẽ bị lỗi ngay.
- Khi bạn thêm dữ liệu nếu có truyền data thì nó sẽ lấy data đó thay vì tăng tự động, ngược lại nó sẽ lấy giá trị lớn nhất hiện tại và tăng lên 1(giá trị lớn nhất này lưu trong config của table chứ không phải là id lớn nhất trong các records).
- Khi bạn xóa một record thì sẽ bị khuyết mất một giá trị, lúc này nếu bạn thêm thì nó sẽ không lấp vào vị trí này mà nó tuân theo quy luật trên.
- Giả sử giá trị 120 là lớn nhất, bạn xóa đi 120 thì lúc này lớn nhất là 119. Nhưng Llc này nếu bạn thêm mới thì nó sẽ lấy 121 chứ không phải là 120 vì giá trị lớn nhất nó lưu trong config của table là 120.
- Mặc định AUTO_INCREMENT sẽ có giá trị đầu tiên là 1.
- Thông thường người ta sẽ chỉ sử dụng thuộc tính AUTO_INCREMENT cho cột là Primary key.
>>XEM THÊM: Câu lệnh INSERT INTO trong MySQL – Lệnh chèn dữ liệu vào bảng
Cách tạo AUTO_INCREMENT cho một field
Để tạo AUTO_INCREMENT thì ta thêm từ khóa AUTO_INCREMENT đằng sau field muốn tạo trong lệnh tạo bảng (CREATE TABLE).
Vì thông thường thì AUTO_INCREMENT chỉ được sử dụng cho khóa chính, vì thế trong ví dụ này mình sẽ sử dụng AUTO_INCREMENT cho cột id.
CREATE TABLE Users(
id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
email VARCHAR (50),
pass VARCHAR (50),
)
Như vậy sau khi sử dụng lệnh này để tạo bảng, bạn hãy chèn thử một vài record bằng lệnh INSERT INTO, khi chèn bỏ qua chèn giá trị id xem kết quả như thế nào để nắm rõ hơn cách hoạt động của AUTO_INCREMENT .
>>XEM THÊM: Các kiểu dữ liệu trong MySQL (Data Types) – Học MySQL
Cảm ơn bạn đã đọc hết bài viết! Chúc Bạn học tốt!
[XEM TẤT CẢ CÁC BÀI HƯỚNG DẪN MYSQL TẠI ĐÂY]
XEM THÊM Câu lệnh INSERT INTO trong MySQL – Lệnh chèn dữ liệu vào bảng Câu lệnh CREATE TABLE trong MySQL – Lệnh tạo bảng mới Các kiểu dữ liệu trong MySQL (Data Types) – Học MySQL Câu lệnh SELECT trong MySQL – Khi nào thì dùng lệnh SELECT MySql là gì? Tìm hiểu về hệ quản trị cơ sở dữ liệu MySql