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

mysqli सम्मिलित करें - लेकिन केवल यदि डुप्लिकेट नहीं है

एक unique डालने पर विचार करें इस विशेष तालिका पर index. निम्न कोड अनुक्रमणिका जोड़ देगा और किसी भी मौजूदा डुप्लिकेट को हटा देगा:

ALTER IGNORE TABLE `RegisteredUsersTable` ADD UNIQUE INDEX unique_email (`UserEmail`);

एक बार इसे जोड़ने के बाद, INSERT IGNORE use का उपयोग करें या INSERT...ON DUPLICATE KEY UPDATE . अगर कोई डुप्लीकेट नहीं है तो वे केवल इंसर्ट को प्रीफॉर्म करेंगे।

$mysqli->query("INSERT IGNORE INTO RegisteredUsersTable (UserName, UserEmail) VALUES ('".$newUserName."', '".$newUserEmail."')");

Mysql एक त्रुटि फेंक देगा क्योंकि ईमेल पहले से ही डेटाबेस में है। हालांकि, इग्नोर कमांड स्क्रिप्ट को इस क्वेरी के लिए त्रुटियों पर ध्यान न देने के लिए कह रहा है, क्योंकि इस मामले में, आप डुप्लिकेट पंक्ति के लिए इसकी अपेक्षा करते हैं।

साथ ही, INSERT IGNORE के साथ भी, आपके उपयोगकर्ता को विफलता या सफलता संदेश के साथ सचेत करने का एक तरीका है। . MYSQL LAST_INSERT_ID() का उपयोग करें . अगर कोई आईडी दी गई थी, तो उसे डाला गया था। यदि नहीं, तो ईमेल पहले से ही था (या कोई अन्य त्रुटि थी)।



  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. स्वत:लोड परिणाम एक ही परिणाम बार-बार प्राप्त कर रहे हैं

  3. PHP isset () कई मापदंडों के साथ

  4. नोड.जेएस का उपयोग करके mysql डेटाबेस तक पहुँचने में सहायता चाहिए

  5. PHP से उत्पन्न HTML से कॉल किए गए फ़ंक्शन का उपयोग करके AJAX अद्यतन MYSQL डेटाबेस