যখন আপনার কলামে অটো ইনক্রিমেন্টেড প্রাইমারি কি থাকে, তখন ইনসার্ট কমান্ডে সেই কলামের মান দিতে হয় না। MySQL স্বয়ংক্রিয়ভাবে সেই কলামের মান দিয়ে দেবে।
কনসেপ্টটি বুঝতে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE AutoIncrementedPrimary (
-> Id INT AUTO_INCREMENT,
-> Name VARCHAR(100),
-> Age INT,
-> PRIMARY KEY(Id)
-> ); Query OK, 0 rows affected (0.56 sec)
এখন শুধু Name এবং Age কলামের জন্য রেকর্ড ইনসার্ট করি, MySQL নিজে Id কলামের মান দিয়ে দেবে কারণ এটি অটো_ইনক্রিমেন্ট সেট করা আছে:
mysql> INSERT INTO AutoIncrementedPrimary(Name,Age) VALUES('John',23); Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO AutoIncrementedPrimary(Name,Age) VALUES('Sam',24); Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO AutoIncrementedPrimary(Name,Age) VALUES('Carol',30); Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO AutoIncrementedPrimary(Name,Age) VALUES('Johnson',28); Query OK, 1 row affected (0.16 sec)
সিলেক্ট কমান্ড দিয়ে টেবিলের সব রেকর্ড দেখি:
mysql> SELECT * FROM AutoIncrementedPrimary;
আউটপুট
+----+---------+------+ | Id | Name | Age | +----+---------+------+ | 1 | John | 23 | | 2 | Sam | 24 | | 3 | Carol | 30 | | 4 | Johnson | 28 | +----+---------+------+ 4 rows in set (0.00 sec)
উপরের স্যাম্পল আউটপুটে দেখুন, Id কলামের মান MySQL-ই দিয়েছে।