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

MySQL-এ ইন্টিজার কলামে পজিটিভ ইন্টিজার কনস্ট্রেইন্ট যোগ করা

MySQL-এ ইন্টিজার কলামে নেগেটিভ মান বাধা দেওয়ার জন্য UNSIGNED অ্যাট্রিবিউট ব্যবহার করা হয়। এটি ০ থেকে ৪২৯৪৯৬৭২৯৫ পর্যন্ত মান অনুমতি দেয়।

সিনট্যাক্স

CREATE TABLE yourTableName ( yourColumnName INT UNSIGNED );

উদাহরণ

টেবিল তৈরি:

mysql> CREATE TABLE OnlyPositiveValue (
    -> Marks INT UNSIGNED
    -> );

স্ট্রিক্ট মোড অন (বাধা নিশ্চিত করতে):

mysql> SET @@SESSION.sql_mode = 'STRICT_TRANS_TABLES';

নেগেটিভ মান ইনসার্ট করলে এরর:

mysql> INSERT INTO OnlyPositiveValue VALUES(-10);
ERROR 1264 (22003): Out of range value for column 'Marks' at row 1
mysql> INSERT INTO OnlyPositiveValue VALUES(-100);
ERROR 1264 (22003): Out of range value for column 'Marks' at row 1

পজিটিভ মান ইনসার্ট (সফল):

mysql> INSERT INTO OnlyPositiveValue VALUES(0), (10), (100);
mysql> SELECT * FROM OnlyPositiveValue;
+-------+
| Marks |
+-------+
| 0     |
| 10    |
| 100   |
+-------+

নোট: STRICT_TRANS_TABLES মোড অন থাকলে নেগেটিভ মান ইনসার্ট করলে এরর ফেলে। এটি ছাড়া সাইলেন্টলি ০ বা অ autop-adjust হতে পারে। UNSIGNED ব্যবহার করলে নেগেটিভ মান যাবে না, কিন্তু চেক কনস্ট্রেইন্ট (MySQL 8.0.16+) দিয়ে আরও জটিল শর্ত (যেমন > 100) লাগানো যায়।

  1. MySQL-এ একক কোয়েরিতে কলাম এবং ইনডেক্স যোগ করা

  2. MySQL-এ LPAD() ফাংশন দিয়ে কলামে লিডিং জিরো যোগ করা

  3. MySQL কোয়েরি কলাম মান রিপ্লেস করার জন্য

  4. MySQL কোয়েরিতে ইউজার-ডিফাইনড মান একটি কলামে যোগ করা (UNION ALL)