কম্পিউটার টিউটোরিয়াল

MySQL-এ AUTO_INCREMENT কলাম ইনসার্টের সময় স্কিপ করা (NULL দিয়ে)


MySQL-এ AUTO_INCREMENT কলামে NULL দিয়ে অটো মান জেনারেট করানো

MySQL-এ যদি কোনো কলাম AUTO_INCREMENT এবং PRIMARY KEY হয়, তবে ইনসার্টের সময় সেই কলামের জন্য NULL (বা 0, বা কলামটি বাদ দিয়ে) দেওয়া যাবে — MySQL অটোমেটিকভাবে পরবর্তী ইউনিক মান জেনারেট করবে।

উদাহরণ

টেবিল তৈরি:

CREATE TABLE DemoTable (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentFirstName VARCHAR(100),
    StudentAge INT
);

NULL দিয়ে ইনসার্ট (AUTO_INCREMENT কলাম স্কিপ)

INSERT INTO DemoTable VALUES (NULL, 'Robert', 21);
INSERT INTO DemoTable VALUES (NULL, 'Sam', 22);
INSERT INTO DemoTable VALUES (NULL, 'Bob', 24);
INSERT INTO DemoTable VALUES (NULL, 'Carol', 20);

ফলাফল যাচাই

SELECT * FROM DemoTable;

আউটপুট:

+-----------+------------------+------------+
| StudentId | StudentFirstName | StudentAge |
+-----------+------------------+------------+
| 1         | Robert           | 21         |
| 2         | Sam              | 22         |
| 3         | Bob              | 24         |
| 4         | Carol            | 20         |
+-----------+------------------+------------+

বিকল্প পদ্ধতিসমূহ

  • INSERT INTO DemoTable (StudentFirstName, StudentAge) VALUES ('Robert', 21); — কলাম নাম নির্দিষ্ট করে AUTO_INCREMENT কলাম বাদ দিন।
  • INSERT INTO DemoTable VALUES (0, 'Robert', 21); — ০ দিয়েও কাজ করে (NO_AUTO_VALUE_ON_ZERO SQL মোড অফ থাকলে)।

সর্বোত্তম অনুশীলন: কলামের তালিকা স্পষ্টভাবে লিখুন (INSERT INTO table (col1, col2) ...) — এটি কোডকে আরও রোবাস্ট এবং রক্ষণাবেক্ষণযোগ্য করে।

  1. MySQL-এ বিদ্যমান টেবিলে নতুন কলাম যোগ করে সেটি আপডেট করা

  2. MySQL-এ ALTER TABLE CHANGE ব্যবহার করে কলাম নাম পরিবর্তন করা

  3. MySQL-এ একাধিক প্যারামিটার মান একটি একক কলামে ইনসার্ট করা (CONCAT_WS ব্যবহার করে)

  4. MySQL-এ DECIMAL(19,2) কলামে ইনসার্ট সময় TRUNCATE ব্যবহার করে মান সংরক্ষণ করা