mysql - Insert a duplicate record based on value of another column -


मेरे पास विद्यार्थी नामक एक डीबी तालिका है, जैसे कॉलम के साथ id , नाम , आयु id प्राथमिक कुंजी है, नाम शून्य नहीं है, और उम्र शून्य हो सकता है

मैं निम्नलिखित को लागू करना चाहता हूं Php में, ज़ेंड: केवल डीपी में एक डुप्लिकेट छात्र नाम को जोड़ें, अगर उम्र मान अलग है।

अंदर समारोह / कार्रवाई addStudentAction , मैं छात्र मॉडल के समारोह बोल रहा हूँ - findStudent आवश्यकता लागू करने के लिए:

  सार्वजनिक समारोह findStudent ($ नाम) {$ परिणाम = शून्य; $ चुनें = $ इस- & gt; चयन करें (Zend_Db_Table :: SELECT_WITH_FROM_PART) - & gt; सेट इन्टेग्रिटी चेक (गलत) - & gt; जहां ('student.name =?', $ Name); // error_log ($ select- & gt; इकट्ठा ()); $ परिणाम = $ इस- & gt; getAdapter () - & gt; लाने के लिए रो ($ चयन करें); वापसी का परिणाम; } सार्वजनिक फ़ंक्शन addStudentAction () {$ data = $ _POST; $ StudentModel = नया Application_Model_Student; $ परिणाम = $ छात्र मोडेल- & gt; ढूँढें स्टूडेंट ($ डेटा ['नाम']); यदि (! खाली ($ परिणाम)) {error_log ("डीबी में छात्र का नाम मिला, उम्र पाने के लिए जा रहे हैं"); // जाँच करें कि उम्र के लिए अगर ((खाली! ($ परिणाम ['उम्र'])) {यदि ($ परिणाम ['उम्र'] = $ डेटा ['उम्र']) {error_log ("छात्र को नए रूप में जोड़ने वाला रिकॉर्ड करें "); $ इस- & gt; डालें ($ डेटा);} और {error_log (" नए छात्र का रिकॉर्ड नहीं जोड़ना ");}}}}   

अब, एक ही नाम के साथ छात्रों के कई रिकॉर्ड हो सकते हैं, लेकिन अलग उम्र मान। इसलिए, जब एक नए छात्र को जोड़ते हैं, तो मुझे सभी अभिलेखों की उम्र की तुलना करना पड़ता है (यदि नाम मिलते हैं) आने वाले मूल्य की उम्र के साथ।

इस आवश्यकता को लागू करने का सबसे अच्छा तरीका क्या हो सकता है? कोई मदद काफी सराहना की जाती है।

धन्यवाद

सबसे आसान तरीका नाम पर मिश्रित अद्वितीय अनुक्रमणिका बनाना होगा, फिर उम्र का क्षेत्र। UNIQUE एकाधिक नाल मानों की अनुमति देता है, जिससे कि जीत गई आपके डेटाबेस के आकार और उपयोग के आधार पर, यह सबसे पसंदीदा विकल्प नहीं हो सकता है, इस मामले में एक INSERT जांचने से पहले छात्र जानकारी का एक साधारण चयन क्या है वह पहले से ही वहां मौजूद है, सबसे अच्छा समाधान होगा।

मुझे इस बात पर जाने दें कि मुझे इस पर विस्तार करने की आवश्यकता है। मुझे आपको कुछ उदाहरण देने में खुशी होगी।

Comments