MySQL-এ, দুটি পন্থা রয়েছে যার মাধ্যমে আপনি MySQL ক্ষেত্রটিকে ডিফল্ট মানতে পুনরায় সেট করতে পারেন। একটি ডিফল্ট কীওয়ার্ড এবং অন্যটি ডিফল্ট() ফাংশন।
কেস 1 :ডিফল্ট কীওয়ার্ড ব্যবহার করা। সিনট্যাক্স নিম্নরূপ:
UPDATE yourTableName SET yourColumnName=default where yourCondition;
কেস 2 :ডিফল্ট() ফাংশন ব্যবহার করা। সিনট্যাক্স নিম্নরূপ:
UPDATE yourTableName SET yourColumnName=default(yourColumnName) where yourCondition;
উপরের সিনট্যাক্স বুঝতে, আসুন একটি টেবিল তৈরি করি। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ:
mysql> create table Default_Demo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int, -> Salary float, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.73 sec)
সন্নিবেশ কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান। প্রশ্নটি নিম্নরূপ:
mysql> insert into Default_Demo(Name,Age,Salary) values('John',23,405.56); Query OK, 1 row affected (0.18 sec) mysql> insert into Default_Demo(Name,Age,Salary) values('Carol',25,1000.98); Query OK, 1 row affected (0.22 sec) mysql> insert into Default_Demo(Name,Age,Salary) values('Larry',21,987.24); Query OK, 1 row affected (0.09 sec) mysql> insert into Default_Demo(Name,Age,Salary) values('Sam',24,986.10); Query OK, 1 row affected (0.17 sec) mysql> insert into Default_Demo(Name,Age,Salary) values('Mike',22,10000.50); Query OK, 1 row affected (0.17 sec) mysql> insert into Default_Demo(Name,Age,Salary) values('David',26,100.45); Query OK, 1 row affected (0.20 sec)
সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ:
mysql> select *from Default_Demo;
নিম্নলিখিত আউটপুট:
+----+-------+------+---------+ | Id | Name | Age | Salary | +----+-------+------+---------+ | 1 | John | 23 | 405.56 | | 2 | Carol | 25 | 1000.98 | | 3 | Larry | 21 | 987.24 | | 4 | Sam | 24 | 986.1 | | 5 | Mike | 22 | 10000.5 | | 6 | David | 26 | 100.45 | +----+-------+------+---------+ 6 rows in set (0.00 sec)
MySQL ক্ষেত্রটিকে ডিফল্ট মানগুলিতে পুনরায় সেট করার জন্য এখানে ক্যোয়ারী রয়েছে৷
কেস 1: ডিফল্ট কীওয়ার্ড ব্যবহার করে। প্রশ্নটি নিম্নরূপ:
mysql> update Default_Demo set Age=Default where Id=6; Query OK, 1 row affected (0.10 sec) Rows matched: 1 Changed: 1 Warnings: 0
এখন আপনি টেবিল রেকর্ড পরীক্ষা করতে পারেন, কলামের বয়স NULL যেখানে Id হল 6। প্রশ্নটি নিম্নরূপ:
mysql> select *from Default_Demo;
নিম্নলিখিত আউটপুট:
+----+-------+------+---------+ | Id | Name | Age | Salary | +----+-------+------+---------+ | 1 | John | 23 | 405.56 | | 2 | Carol | 25 | 1000.98 | | 3 | Larry | 21 | 987.24 | | 4 | Sam | 24 | 986.1 | | 5 | Mike | 22 | 10000.5 | | 6 | David | NULL | 100.45 | +----+-------+------+---------+ 6 rows in set (0.00 sec)
আইডি 6 দেখুন যেখানে বয়স কলামটি ডিফল্ট মান NULL সহ আপডেট করা হয়েছে৷
কেস 2: এখন আপনি default() ফাংশন ব্যবহার করতে পারেন। এখানে, ডিফল্ট মান সহ বেতন কলাম আপডেট করুন যেখানে আইডি 6। প্রশ্নটি নিম্নরূপ:
mysql> update Default_Demo set Salary=Default(Salary) where Id=6; Query OK, 1 row affected (0.21 sec) Rows matched: 1 Changed: 1 Warnings: 0
এখন টেবিল রেকর্ড পরীক্ষা করুন যেখানে আইডি 6।
mysql> select *from Default_Demo where Id=6;
নিম্নলিখিত আউটপুট:
+----+-------+------+--------+ | Id | Name | Age | Salary | +----+-------+------+--------+ | 6 | David | NULL | NULL | +----+-------+------+--------+ 1 row in set (0.00 sec)
বেতন কলামটি দেখুন ডিফল্ট মান NULL সফলভাবে আপডেট হয়েছে৷