เข้าใจได้จากตัวอย่างที่ INSERT ค่า NULL ลงคอลัมน์ AUTO_INCREMENT และ MySQL สร้างลำดับใหม่:
mysql> CREATE TABLE employeeinfo(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, Name VARCHAR(10)); Query OK, 0 rows affected (0.16 sec) mysql> INSERT INTO employeeinfo(id, Name) VALUES(NULL, 'Saurabh'); Query OK, 1 row affected (0.07 sec) mysql> SELECT * FROM employeeinfo; +----+---------+ | id | Name | +----+---------+ | 1 | Saurabh | +----+---------+ 1 row in set (0.00 sec)
สังเกตได้ว่าคอลัมน์ id ประกาศ NOT NULL และ PRIMARY KEY แต่ยอมรับค่า NULL ได้ เพราะประกาศเป็น AUTO_INCREMENT ด้วย MySQL จึงสร้างลำดับแม้ INSERT NULL
ในทางตรงข้าม หาก INSERT NULL ลงคอลัมน์ที่เป็น PRIMARY KEY แต่ไม่ใช่ AUTO_INCREMENT MySQL จะแสดงข้อผิดพลาด:
mysql> CREATE TABLE people(id INT PRIMARY KEY, name VARCHAR(10)); Query OK, 0 rows affected (0.18 sec) mysql> INSERT INTO people(id, name) VALUES(NULL, 'Rahul'); ERROR 1048 (23000): Column 'id' cannot be null
ดังนั้น AUTO_INCREMENT มีลำดับความสำคัญมากกว่า (precedes) ข้อจำกัด PRIMARY KEY เพราะกระบวนการ AUTO_INCREMENT ต้องถูกแก้ไขก่อนการตรวจสอบ PRIMARY KEY ในทุกกรณี