টেবিল তৈরি করার সময় DEFAULT কিওয়ার্ড দিয়ে কলামের ডিফল্ট মান সেট করা যায়। ইনসার্টের সময় মান না দিলে ডিফল্ট মান স্বয়ংক্রিয় সেট হয়।
DEFAULT সহ টেবিল তৈরি
mysql> CREATE TABLE DemoTable803 (
UserId INT DEFAULT 101,
UserName VARCHAR(100) DEFAULT 'Chris'
);
Query OK, 0 rows affected (1.18 sec)
ডেটা ইনসার্ট (আংশিক মান দিয়ে)
mysql> INSERT INTO DemoTable803 VALUES (102, 'Chris');
Query OK, 1 row affected (0.34 sec)
mysql> INSERT INTO DemoTable803(UserName) VALUES ('Mike'); -- UserId ডিফল্ট
Query OK, 1 row affected (0.48 sec)
mysql> INSERT INTO DemoTable803(UserId) VALUES (103); -- UserName ডিফল্ট
Query OK, 1 row affected (0.21 sec)
mysql> INSERT INTO DemoTable803 VALUES (); -- দুটোই ডিফল্ট
Query OK, 1 row affected (0.22 sec)
mysql> INSERT INTO DemoTable803 VALUES (110, 'Robert');
Query OK, 1 row affected (0.33 sec)
রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable803;
আউটপুট:
+--------+----------+ | UserId | UserName | +--------+----------+ | 102 | Chris | | 101 | Mike | | 103 | Chris | | 101 | Chris | | 110 | Robert | +--------+----------+ 5 rows in set (0.00 sec)
শুধু ডিফল্ট মানগুলো দেখানো
mysql> SELECT DEFAULT(UserId), DEFAULT(UserName) FROM DemoTable803 LIMIT 1;
ফলাফল:
+-----------------+-------------------+ | DEFAULT(UserId) | DEFAULT(UserName) | +-----------------+-------------------+ | 101 | Chris | +-----------------+-------------------+ 1 row in set (0.00 sec)
DEFAULT নিয়মাবলী
DEFAULT NULL- স্পষ্টভাবে NULL ডিফল্ট (সাধারণত ডিফল্ট)۔DEFAULT CURRENT_TIMESTAMP- টাইমস্ট্যাম্প কলামের জন্য।DEFAULT (expression)- MySQL 8.0.13+ থেকে এক্সপ্রেশন সাপোর্ট (যেমনDEFAULT (UUID()))।SHOW CREATE TABLEদিয়ে ডিফল্ট মান চেক করা যায়।