MySQL if
की अनुमति नहीं देता है तर्क, जब तक कि आप प्रोग्रामिंग ब्लॉक (संग्रहीत प्रक्रिया, ट्रिगर, या फ़ंक्शन) में न हों।
सौभाग्य से, आप WHERE
. के साथ भी ऐसा ही कर सकते हैं तर्क:
INSERT INTO user
SELECT 'Rutvij', 'python', 25
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM user WHERE name = 'Rutvij' AND lang = 'python')
UNION ALL
SELECT 'Kanzaria', 'python', 25
FROM DUAL
WHERE EXISTS (SELECT 1 FROM user WHERE name = 'Rutvij' AND lang = 'python');
MySQL को SELECT
को प्रोसेस करना चाहिए INSERT
. से पहले , इसलिए केवल एक पंक्ति डाली जानी चाहिए।
या, आप इसे दो INSERT
. के रूप में कर सकते हैं s लेकिन विपरीत क्रम में:
INSERT INTO user
SELECT 'Kanzaria', 'python', 25
FROM DUAL
WHERE EXISTS (SELECT 1 FROM user WHERE name = 'Rutvij' AND lang = 'python');
INSERT INTO user
SELECT 'Rutvij', 'python', 25
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM user WHERE name = 'Rutvij' AND lang = 'python');