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

MySQL:जहां मौजूद नहीं है वहां डालें

insert . . . select :

INSERT INTO USER (name, email)
    SELECT 'John', '[email protected]'
    WHERE NOT EXISTS
        (SELECT id FROM USER WHERE email = '[email protected]');

मैं इसे इस प्रकार लिखूंगा:

INSERT INTO USER (name, email)
    SELECT name, email
    FROM (SELECT 'John' as name, '[email protected]' as email) t
    WHERE NOT EXISTS (SELECT 1 FROM USER u WHERE u.email = t.email);

लेकिन एक बेहतर तरीका यह है कि केवल एक अद्वितीय अनुक्रमणिका डालें ताकि डेटाबेस डेटा की सुरक्षा कर सके:

create unique index idx_users_email on user(email);


  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 से पंडों में 5 मिलियन पंक्तियाँ लोड हो रही हैं

  2. अपाचे क्रैशिंग:माता-पिता:बच्चे की प्रक्रिया 3221225477 स्थिति से बाहर निकल गई - पुनरारंभ करना

  3. MS Access और MySQL के बीच डेटा को सिंक्रोनाइज़ करने का सबसे अच्छा तरीका क्या है?

  4. SUM(users_count) 1000 . तक पहुंचने तक चयन करने के लिए एक SQL क्वेरी

  5. सिम्फनी और सिद्धांत बिना किसी प्रभाव के प्रवासन कर रहे हैं