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

डुप्लिकेट प्रविष्टि की जाँच करें बनाम PDO errorInfo परिणाम का उपयोग करें

आप इसे ट्राइ कैच ब्लॉक के साथ क्रियान्वित कर सकते हैं:

try {
   $prep->execute($values);
   // do other things if successfully inserted
} catch (PDOException $e) {
   if ($e->errorInfo[1] == 1062) {
      // duplicate entry, do something else
   } else {
      // an error other than duplicate entry occurred
   }
}

आप "INSERT IGNORE", और "INSERT... ON DUPLICATE KEY UPDATE" जैसे विकल्पों पर भी गौर कर सकते हैं - हालांकि मुझे लगता है कि वे MySQL विशिष्ट हैं और PDO का उपयोग करने की पोर्टेबिलिटी के खिलाफ जाएंगे, अगर ऐसा कुछ है जिसके बारे में आप चिंतित हैं ।

संपादित करें:मेरे लिए, आपके प्रश्न का अधिक औपचारिक रूप से उत्तर देने के लिए, समाधान # 1 (रक्षात्मक प्रोग्रामर) पूर्ण उपयोग में पहली बार में अद्वितीय बाधा के बिंदु को प्रभावी ढंग से समाप्त कर देता है। तो मैं आपके विचार से सहमत हूँ कि MySQL को डेटा जाँच का ध्यान रखना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मुझे अपने डेटाबेस की साख कहाँ रखनी चाहिए?

  2. मैं MySQL में प्रत्येक पंक्ति में कैसे जोड़ूं?

  3. MySQL:पंक्तियों की संख्या गिनने का सबसे तेज़ तरीका

  4. MySQL में कल की तारीख कैसे प्राप्त करें

  5. Mysql में सिंक्रनाइज़ संग्रहीत कार्यविधि निष्पादन