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

Đặt giá trị tùy chỉnh cho AUTO_INCREMENT khi tạo bảng và dùng ZEROFILL. Điều gì xảy ra khi INSERT không truyền giá trị?

Ví dụ tạo bảng với StudentId là AUTO_INCREMENT = 100 và dùng ZEROFILL:

mysql> CREATE TABLE DemoTable ( StudentId INT(7) ZEROFILL NOT NULL AUTO_INCREMENT, PRIMARY KEY(StudentId) ) AUTO_INCREMENT=100; Query OK, 0 rows affected (0.48 sec)

Chèn bản ghi không truyền giá trị (VALUES()):

mysql> INSERT INTO DemoTable VALUES(); Query OK, 1 row affected (0.17 sec) mysql> INSERT INTO DemoTable VALUES(); Query OK, 1 row affected (0.09 sec) mysql> INSERT INTO DemoTable VALUES(); Query OK, 1 row affected (0.07 sec) mysql> INSERT INTO DemoTable VALUES(); Query OK, 1 row affected (0.09 sec)

Hiển thị:

mysql> SELECT * FROM DemoTable;

Kết quả (giá trị bắt đầu từ 100, phần bên trái lấp đầy 0 do ZEROFILL):

+-----------+ | StudentId | +-----------+ | 0000100   | | 0000101   | | 0000102   | | 0000103   | +-----------+ 4 rows in set (0.00 sec)