इसे एक उदाहरण की मदद से समझा जा सकता है जिसमें AUTO_INCREMENT कॉलम में NULL मान डाला गया है और 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 मान स्वीकार करता है। ऐसा इसलिए है क्योंकि कॉलम 'id' को AUTO_INCREMENT भी घोषित किया गया है। इसके कारण, MySQL उस कॉलम में NULL मान डालने पर भी अनुक्रम संख्या लौटाता है।
इसके विपरीत, यदि हम एक कॉलम में 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 PRIMARY KEY प्रतिबंध पर प्राथमिकता लेता है क्योंकि AUTO_INCREMENT प्रक्रिया को किसी भी स्थिति में PRIMARY KEY प्रतिबंध की जांच से पहले हल करने की आवश्यकता होगी।