MySQL-এ AUTO_INCREMENT কলামে স্বয়ংক্রিয়ভাবে মান জেনারেট হয়, কিন্তু আপনি চাইলে নিজের নির্দিষ্ট মানও ইনসার্ট করতে পারেন।
সিনট্যাক্স
INSERT INTO yourTableName (yourIdColumnName, yourColumnName) VALUES (yourCustomValue, 'yourValue');
উদাহরণ
টেবিল তৈরি:
CREATE TABLE InsertValueInAutoIncrement (
UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserName VARCHAR(20)
);
ডেটা ইনসার্ট (স্বয়ংক্রিয় এবং ম্যানুয়াল উভয়):
INSERT INTO InsertValueInAutoIncrement (UserName) VALUES ('John'); -- Auto: 1
INSERT INTO InsertValueInAutoIncrement (UserName) VALUES ('Carol'); -- Auto: 2
INSERT INTO InsertValueInAutoIncrement (UserName) VALUES ('Sam'); -- Auto: 3
INSERT INTO InsertValueInAutoIncrement (UserName) VALUES ('Bob'); -- Auto: 4
INSERT INTO InsertValueInAutoIncrement (UserId, UserName) VALUES (100, 'Maxwell'); -- Manual: 100
INSERT INTO InsertValueInAutoIncrement (UserName) VALUES ('James'); -- Auto: 101 (100+1)
INSERT INTO InsertValueInAutoIncrement (UserId, UserName) VALUES (1000, 'Larry'); -- Manual: 1000
ফলাফল
+--------+----------+ | UserId | UserName | +--------+----------+ | 1 | John | | 2 | Carol | | 3 | Sam | | 4 | Bob | | 100 | Maxwell | | 101 | James | | 1000 | Larry | +--------+----------+
গুরুত্বপূর্ণ পয়েন্ট:
- ম্যানুয়াল মান ইনসার্ট করলে পরবর্তী AUTO_INCREMENT মান সেটির থেকে শুরু হয়
- ডুপ্লিকেট মান দিলে এরর হবে (PRIMARY KEY violation)
- নেগেটিভ মান দেয়া যাবে না (UNSIGNED না হলে)