इसके लिए, आप MySQL DUAL टेबल का उपयोग करके डाल सकते हैं। कंडीशनल INSERT की अवधारणा को समझने के लिए एक टेबल बनाते हैं। टेबल बनाने का क्वेरी:
mysql> CREATE TABLE ConditionalInsertDemo (
-> UserId INT,
-> TotalUser INT,
-> NumberOfItems INT
-> ); Query OK, 0 rows affected (0.58 sec)
INSERT कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:
mysql> INSERT INTO ConditionalInsertDemo VALUES(101,560,780); Query OK, 1 row affected (0.19 sec) mysql> INSERT INTO ConditionalInsertDemo VALUES(102,660,890); Query OK, 1 row affected (0.20 sec) mysql> INSERT INTO ConditionalInsertDemo VALUES(103,450,50); Query OK, 1 row affected (0.15 sec)
SELECT स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> SELECT * FROM ConditionalInsertDemo;
आउटपुट
+--------+-----------+---------------+ | UserId | TotalUser | NumberOfItems | +--------+-----------+---------------+ | 101 | 560 | 780 | | 102 | 660 | 890 | | 103 | 450 | 50 | +--------+-----------+---------------+ 3 rows in set (0.00 sec)
अब टेबल में 3 रिकॉर्ड हैं। आप DUAL टेबल की मदद से कंडीशनल INSERT के साथ अगले रिकॉर्ड डाल सकते हैं। क्वेरी टेबल में रिकॉर्ड डालती है जब भी UserId=104 और NumberOfItems=3500 टेबल में पहले से मौजूद नहीं हैं। कंडीशनल INSERT क्वेरी इस प्रकार है:
mysql> INSERT INTO ConditionalInsertDemo(UserId,TotalUser,NumberOfItems)
-> SELECT 104,900,3500 FROM DUAL
-> WHERE NOT EXISTS (SELECT * FROM ConditionalInsertDemo
-> WHERE UserId=104 AND NumberOfItems=3500); Query OK, 1 row affected (0.18 sec) Records: 1 Duplicates: 0 Warnings: 0
अब आप टेबल चेक कर सकते हैं, रिकॉर्ड डाला गया है या नहीं। सभी रिकॉर्ड प्रदर्शित करने का क्वेरी:
mysql> SELECT * FROM ConditionalInsertDemo;
आउटपुट
+--------+-----------+---------------+ | UserId | TotalUser | NumberOfItems | +--------+-----------+---------------+ | 101 | 560 | 780 | | 102 | 660 | 890 | | 103 | 450 | 50 | | 104 | 900 | 3500 | +--------+-----------+---------------+ 4 rows in set (0.00 sec)