Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में सिंगल क्वेरी से बूलियन फील्ड को कैसे रिवर्स करें?


हां, आप MySQL के IF() फ़ंक्शन का उपयोग करके बूलियन फील्ड को रिवर्स कर सकते हैं।

सिंटैक्स

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> INSERT INTO ReverseBooleanField(isValid) VALUES(true); 
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO ReverseBooleanField(isValid) VALUES(false); 
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO ReverseBooleanField(isValid) VALUES(true); 
Query OK, 1 row affected (0.29 sec)
mysql> INSERT INTO ReverseBooleanField(isValid) VALUES(true); 
Query OK, 1 row affected (0.09 sec)
mysql> INSERT INTO ReverseBooleanField(isValid) VALUES(false); 
Query OK, 1 row affected (0.14 sec)

सभी रिकॉर्ड देखें

mysql> SELECT * FROM ReverseBooleanField;

आउटपुट

+----+---------+
| Id | isValid |
+----+---------+
| 1  | 1       |
| 2  | 0       |
| 3  | 1       |
| 4  | 1       |
| 5  | 0       |
+----+---------+
5 rows in set (0.00 sec)

MySQL आंतरिक रूप से BOOLEAN को TINYINT(1) में बदल देता है जिसमें true = 1 और false = 0 होता है।

बूलियन फील्ड को सिंगल क्वेरी में रिवर्स करें

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)

सभी बूलियन मान सफलतापूर्वक रिवर्स हो गए हैं।

  1. - MySQL में केवल एक फील्ड को NULL के स्थान पर अपडेट करने का क्वेरी

    इसके लिए आप COALESCE() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1805 ( Name1 varchar(20), Name2 varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1805 values(Chr

  1. - MySQL में एक क्वेरी से दो कॉलम कैसे अपडेट करें?

    MySQL में एक ही UPDATE स्टेटमेंट में एकाधिक कॉलम अपडेट करने के लिए, SET क्लॉज़ में कॉलम को कॉमा से अलग करके सूचीबद्ध करें। यह एटॉमिक ऑपरेशन सुनिश्चित करता है और क्वेरी ओवरहेड कम करता है। उदाहरण: FirstName और LastName एक साथ अपडेट करना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1909 ( Id

  1. - MySQL में IN() क्लॉज़ के साथ एक क्वेरी में रिकॉर्ड कैसे डिलीट करें?

    MySQL में एक ही क्वेरी में एकाधिक विशिष्ट रिकॉर्ड डिलीट करने के लिए, DELETE स्टेटमेंट के साथ IN() ऑपरेटर का उपयोग करें। यह एकाधिक DELETE स्टेटमेंट चलाने से अधिक कुशल और पठनीय है। उदाहरण: विशिष्ट StudentId वाले रिकॉर्ड डिलीट करना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1922 ( StudentI