MySQL-এ IF() ফাংশন ব্যবহার করে একটি বুলিয়ান কলামের মান (true/false বা ১/০) একক আপডেট কোয়েরি দিয়ে উল্টা দেওয়া যায়।
সিনট্যাক্স
UPDATE yourTableName SET yourBooleanColumnName = IF(yourBooleanColumnName, 0, 1);
উদাহরণ
টেবিল তৈরি করি:
mysql> create table ReverseBooleanField
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> isValid BOOLEAN,
-> PRIMARY KEY(Id)
-> ); Query OK, 0 rows affected (0.56 sec)
নোট: MySQL-এBOOLEANআসলেTINYINT(1)-এর সিনোনিম। true = 1, false = 0।
রেকর্ড যোগ করি:
mysql> insert into ReverseBooleanField(isValid) values(true); mysql> insert into ReverseBooleanField(isValid) values(false); mysql> insert into ReverseBooleanField(isValid) values(true); mysql> insert into ReverseBooleanField(isValid) values(true); mysql> insert into ReverseBooleanField(isValid) values(false);
সকল রেকর্ড
mysql> select *from ReverseBooleanField;
আউটপুট
+----+---------+ | Id | isValid | +----+---------+ | 1 | 1 | | 2 | 0 | | 3 | 1 | | 4 | 1 | | 5 | 0 | +----+---------+ 5 rows in set (0.00 sec)
বুলিয়ান মান উল্টা দিন
mysql> update ReverseBooleanField set isValid = if(isValid, 0, 1); Query OK, 5 rows affected (0.21 sec) Rows matched - 5 Changed - 5 Warnings - 0
পরিবর্তন যাচাই করুন
mysql> select *from ReverseBooleanField;
ফলাফল
+----+---------+ | Id | isValid | +----+---------+ | 1 | 0 | | 2 | 1 | | 3 | 0 | | 4 | 0 | | 5 | 1 | +----+---------+ 5 rows in set (0.00 sec)