Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

यदि मौजूद नहीं है तो काम नहीं कर रहा है

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');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में माइनस ऑपरेशन करने की कोशिश कर रहा है

  2. स्तंभ नाम के साथ कई स्तंभों का सबसे बड़ा मूल्य?

  3. मैं mysql में md5 पासवर्ड कैसे बनाऊं और स्टोर करूं?

  4. आईडी कैसे विदेशी कुंजी असाइन कर सकती है mysqli

  5. कॉलम में अनुमत अधिकतम लंबाई प्राप्त करें, mysql