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

गैर-प्राथमिक कुंजी के लिए डुप्लिकेट अद्यतन पर MySQL सम्मिलित करें

आपको एक प्रश्न की आवश्यकता है जो जांच करे कि आपके साथ कोई पंक्ति मौजूद है या नहीं record_id (या person_id)। यदि मौजूद है तो इसे अपडेट करें, अन्यथा नई पंक्ति डालें

IF EXISTS (SELECT * FROM table.person WHERE record_id='SomeValue')
    UPDATE table.person 
    SET some_text='new_some_text', some_other_text='some_other_text' 
    WHERE record_id='old_record_id'
ELSE
    INSERT INTO table.person (record_id, person_id, some_text, some_other_text) 
    VALUES ('new_record_id', 'new_person_id', 'new_some_text', 'new_some_other_text')

एक और बेहतर तरीका है

UPDATE table.person SET (...) WHERE person_id='SomeValue'
IF ROW_COUNT()=0
    INSERT INTO table.person (...) VALUES (...)


  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. PHP/MySQL में क्या मुझे एकाधिक डेटाबेस कनेक्शन खोलना चाहिए या 1 साझा करना चाहिए?

  3. PHPExcel और टेक्स्ट रैपिंग

  4. LOAD_FILE NULL लौटाता है

  5. mysql में डेटा के बिना डेटाबेस संरचना की प्रतिलिपि बनाएँ (खाली तालिकाओं के साथ)