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

MySQL में क्या मैं हटाए जाने के बाद हटाई गई पंक्तियों को वापस कर सकता हूं?

MySQL में output के बराबर नहीं है या returning अन्य डेटाबेस द्वारा प्रदान किए गए खंड। आपका सबसे अच्छा दांव एक अस्थायी तालिका है:

CREATE TABLE TheDeletedIds as
    SELECT t1.id
    FROM t1 LEFT JOIN
         t2 
         ON t1.t2_id = t2.id
    WHERE t2.id IS NULL OR t2.is_valid = false;

DELETE t1
    FROM t1
    WHERE t1.id IN (SELECT id FROM TheDeletedIds);

फिर आपके द्वारा अभी बनाई गई तालिका में वे आईडी हैं जो आप चाहते हैं।

नोट:हटाने के लिए नव निर्मित तालिका का उपयोग करना महत्वपूर्ण है। अन्यथा, कोई अन्य थ्रेड/प्रक्रिया आपके द्वारा आईडी कैप्चर करने और उन्हें हटाने के समय के बीच डेटा को बदल सकती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक सिंगलटन के माध्यम से node.js mySQL कनेक्शन

  2. पायथन MySQL कनेक्टर - फ़ेचोन का उपयोग करते समय अपठित परिणाम मिला

  3. एकाधिक जॉइन करते समय tmp तालिका के लिए MySQL गलत कुंजी फ़ाइल

  4. क्या ऑटो-इन्क्रीमेंट को रीसेट करने में कोई नुकसान है?

  5. MySQL:ज़ीरोफिल का उपयोग किए बिना डिस्प्ले चौड़ाई क्यों निर्दिष्ट करें