Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Tránh ghi đè AUTO_INCREMENT trong MySQL bằng NULL, 0, DEFAULT

Khi cột là AUTO_INCREMENT, bạn có thể truyền NULL, 0 hoặc DEFAULT để MySQL tự sinh giá trị thay vì chỉ định thủ công.

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable1350 (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName VARCHAR(20)
);

Chèn 3 hàng với 3 cách khác nhau:

mysql> INSERT INTO DemoTable1350 VALUES(NULL, 'Chris');
mysql> INSERT INTO DemoTable1350 VALUES(0, 'Chris');
mysql> INSERT INTO DemoTable1350 VALUES(DEFAULT, 'Chris');

Kết quả - MySQL tự gán 1, 2, 3:

mysql> SELECT * FROM DemoTable1350;
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | Chris       |
| 2         | Chris       |
| 3         | Chris       |
+-----------+-------------+

Giải thích:

  • NULL: cách phổ biến nhất, rõ ràng ý định "tự động".
  • 0: hoạt động vì MySQL coi 0 như "không có giá trị" cho AUTO_INCREMENT.
  • DEFAULT: tường minh dùng giá trị mặc định (tự sinh).

Best practice: Luôn liệt kê cột trong INSERT: INSERT INTO DemoTable1350(StudentName) VALUES('Chris') - không cần lo cột AUTO_INCREMENT.