MySQL में ऐरे का भंडारण: एकाधिक वोटिंग को रोकने के लिए एक वैकल्पिक दृष्टिकोण
MySQL मूल रूप से फ़ील्ड के भीतर ऐरे के भंडारण का समर्थन नहीं करता है। हालाँकि, एक समान परिणाम प्राप्त करने के लिए एक रिलेशनल डेटाबेस डिज़ाइन को नियोजित किया जा सकता है। तालिका टिप्पणियाँ बनाएँ ( comment_id INT प्राथमिक कुंजी, बॉडी वर्चर(100) ); तालिका उपयोगकर्ता बनाएँ ( user_id INT प्राथमिक कुंजी, उपयोक्तानाम VARCHAR(20) ); तालिका टिप्पणियाँ_वोट्स बनाएं ( comment_id INT, उपयोगकर्ता_आईडी आईएनटी, वोट_प्रकार INT, प्राथमिक कुंजी (टिप्पणी_आईडी, उपयोगकर्ता_आईडी) );
टिप्पणियाँ_वोट्स तालिका यह सुनिश्चित करने के लिए एक समग्र प्राथमिक कुंजी का उपयोग करती है कि प्रत्येक उपयोगकर्ता किसी दिए गए टिप्पणी पर केवल एक बार वोट कर सकता है।
उदाहरण डेटाCREATE TABLE comments (
comment_id INT PRIMARY KEY,
body VARCHAR(100)
);
CREATE TABLE users (
user_id INT PRIMARY KEY,
username VARCHAR(20)
);
CREATE TABLE comments_votes (
comment_id INT,
user_id INT,
vote_type INT,
PRIMARY KEY (comment_id, user_id)
);
लाभइस दृष्टिकोण के कई फायदे हैं:
-- Insert sample data
INSERT INTO comments VALUES (1, 'First comment');
INSERT INTO comments VALUES (2, 'Second comment');
INSERT INTO comments VALUES (3, 'Third comment');
INSERT INTO users VALUES (1, 'user_a');
INSERT INTO users VALUES (2, 'user_b');
INSERT INTO users VALUES (3, 'user_c');
-- Record user 1's votes
INSERT INTO comments_votes VALUES (1, 1, 1);
INSERT INTO comments_votes VALUES (2, 1, 1);
बचाती है एकाधिक वोटिंग:comments_votes तालिका पर प्राथमिक कुंजी बाधा संदर्भात्मक अखंडता को लागू करती है और डेटा सुनिश्चित करती है स्थिरता।
लचीला वोट प्रकार:वोट_टाइप कॉलम विभिन्न प्रकार के वोटों की अनुमति देता है, जैसे पसंद या नापसंद।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3