/ / Mysql में डुप्लिकेट प्रविष्टि से बचने के लिए क्या यूनिक आईडी का उपयोग किया जा सकता है? [बंद] - php, mysql, sql

क्या mysql में डुप्लिकेट प्रविष्टि से बचने के लिए अद्वितीय आईडी का उपयोग किया जा सकता है? [बंद] - PHP, MySQL, एसक्यूएल

के लिए कहो, अगर मैं तालिका में एक कॉलम चाहूंगागैर-बराबर मान पूर्णांक या वैरचर के लिए है, तो क्या डुप्लिकेट डेटा प्रविष्टि से बचने के लिए "इन्सर्ट इन" के साथ अद्वितीय मूल्य का उपयोग किया जा सकता है या कुछ php फ़ंक्शन का उपयोग करना बेहतर है?

उत्तर:

उत्तर № 1 के लिए 1

डुप्लिकेट डेटा प्रविष्टि से बचने के लिए, मुझे प्राथमिक कुंजी के लिए फ़ील्ड पर AUTO_INCREMENT संशोधक का उपयोग करना सबसे आसान लगता है।

इस तरह आप डुप्लिकेट चाबी होने की चिंता के बिना अपने दिल की सामग्री तक तालिका में जोड़ सकते हैं। इसके अलावा, जितना हो सके mySQL के साथ SQL सामान रखने की कोशिश करें।


उत्तर № 2 के लिए 1

insert ignore अद्वितीय फ़ील्ड में डुप्लिकेट होने पर कुछ भी सम्मिलित नहीं करेगा। यह या तो त्रुटि नहीं बढ़ाएगा, इसलिए यह इस बात पर निर्भर करता है कि आप क्या लागू कर रहे हैं।


उत्तर № 3 के लिए 1

उस कॉलम पर एक अद्वितीय सूचकांक बनाएं जिसे आप डुप्लिकेट को रोकना चाहते हैं। मैं फिर से उपयोग कर पुनः प्राप्त करता हूं:

INSERT INTO ...
ON DUPLICATE UPDATE columnName = columnName

इसे PHP में करने के बजाय, क्योंकि आप डेटाबेस को कॉल की संख्या को कम करना चाहते हैं। इसे PHP में करने का मतलब है कि आपको दो प्रश्न करने होंगे: पहला अ SELECT यह देखने के लिए कि क्या पंक्ति पहले से मौजूद है, तो ए INSERT.

ON DUPLICATE KEY UPDATE के लिए बेहतर है INSERT IGNORE क्योंकि यह आपको अन्य त्रुटियों के बारे में सूचित करने से नहीं रोकता है। आपको अपडेट करने के लिए कम से कम एक कॉलम निर्दिष्ट करने की आवश्यकता है, कॉलम को उसके वर्तमान मूल्य पर सेट करके, कुछ भी नहीं बदलता है।