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

MySQL-এ DEFAULT NULL যোগ করা আবশ্যক কিনা?


DEFAULT NULL অন্তর্ভুক্ত না করলেও কলামে NULL সেভ হয়

MySQL-এ কলাম ডেফিনিশনে DEFAULT NULL লিখতে হয় না। ডিফল্টভাবেই সব কলাম (NOT NULL না হলে) NULL গ্রহণ করে। মান না দিয়ে INSERT করলে অটোমেটিক NULL সেভ হয়।

টেবিল (DEFAULT NULL ছাড়া)

mysql> CREATE TABLE DemoTable (FirstName VARCHAR(100));

ডেটা ইনসার্ট (মান না দিয়ে)

mysql> INSERT INTO DemoTable VALUES('Chris');
mysql> INSERT INTO DemoTable VALUES();      -- মান নেই
mysql> INSERT INTO DemoTable VALUES();      -- মান নেই
mysql> INSERT INTO DemoTable VALUES('David');

ফলাফল

+-----------+
| FirstName |
+-----------+
| Chris     |
| NULL      |
| NULL      |
| David     |
+-----------+

ব্যাখ্যা

  • INSERT INTO DemoTable VALUES() — কলাম লিস্ট না দিলে সব কলামে ডিফল্ট মান (NULL) ইনসার্ট হয়।
  • DEFAULT NULL স্পষ্টভাবে লিখলেও একই ফলাফল, লিখলেও একই ফলাফল।
  • NOT NULL কনস্ট্রেইন্ট দিলে NULL ইনসার্ট করলে এরর দেবে।

সেরা অনুশীলন

  • স্পষ্টতায় DEFAULT NULL লিখা যেতে পারে (ডকুমেন্টেশনের জন্য)।
  • যদি ডিফল্ট মান নির্দিষ্ট করতে চান: DEFAULT 'unknown' বা DEFAULT 0।
  • DEFAULT CURRENT_TIMESTAMP (TIMESTAMP/DATETIME কলামের জন্য)।
  1. MySQL-এ নির্দিষ্ট কলামের আগে নতুন কলাম যোগ করা

  2. MySQL-এ NULL মান শূন্য ধরে দুই কলামের যোগফল বের করা

  3. MySQL-এ ডিফল্ট মান NULL সেট করা

  4. MySQL-এ DATETIME কলামে দিন যোগ করা (DATE_ADD INTERVAL DAY)