PHP अद्वितीय पाठ फ़ील्ड? - PHP, MySQL

मुझे एक टेबल मिल गया है और मेरे पास एक टेक्स्ट फ़ील्ड हैयूआरएल फिर से, मैं डुप्लिकेट यूआरएल के साथ कोई पंक्ति नहीं चाहता हूं, लेकिन मैं डालने से पहले एक चेक नहीं करता हूं, क्या टेक्स्ट फ़ील्ड को अद्वितीय बनाने का कोई तरीका नहीं है या क्या आप इसका उपयोग करने के लिए एक और फ़ील्ड प्रकार सुझा सकते हैं?

उत्तर:

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

यदि डेटाबेस में आपका टेक्स्ट फ़ील्ड सेट हैअनन्य या प्राथमिक कुंजी या फिर आपने इसे स्थापित किया है, एक सम्मिलित कथन से डुप्लिकेट इनपुट करने की कोशिश करने में विफल हो जाएगा। इस तरह आपको बस इतना करना होगा कि विफल असफल तरीके से संभाल लें और वहां आपके पास है।

जैसा कि कहीं और बताया गया है, आप एक नहीं कर सकते हैंवास्तविक टेक्स्ट फ़ील्ड अद्वितीय हो, लेकिन यदि आप वर्चर फ़ील्ड का उपयोग कर रहे हैं तो यह करने योग्य है। यह बिल्कुल महत्वपूर्ण नहीं हो सकता है (केवल एक गलत संचार हो सकता है), क्योंकि यदि आप किसी टेक्स्ट फ़ील्ड में URL को संग्रहीत कर रहे हैं, तो आपको इसके बारे में चिंता करने की अन्य समस्याएं भी हैं।


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

समाधान मूल रूप से field_hash जैसे डेटाबेस पर एक अतिरिक्त फ़ील्ड जोड़ता है, इसे VARCHAR और इंडेक्स अद्वितीय बनाएं।

CREATE TABLE "info" (
"text" text NOT NULL,
"text_hash" varchar(40) NOT NULL,
PRIMARY KEY ("id"),
UNIQUE KEY "text_hash" ("text_hash")
);

$text = "Full Text";
$text_hash = sha1($text);

mysql_query("INSERT INTO info (text, text_hash) VALUES ("$text", "$text_hash")");

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

आप किसी अन्य फ़ील्ड का उपयोग करने का प्रयास कर सकते हैं जिसमें यूआरएल फ़ील्ड का हैश है।


जवाब के लिए 0 № 4

सही तरीका यह जांचना है कि यूआरएल तालिका में मौजूद है या नहीं, यदि हां, तो सम्मिलित करें, अन्यथा, सम्मिलित न करें।

एक सर्वोत्तम अभ्यास के रूप में, अपवाद हैंडलिंग का उपयोग किया जाना चाहिए जहां इसे वास्तव में आवश्यकता होती है, इसे सामान्य कार्यों के प्रतिस्थापन के रूप में उपयोग नहीं किया जाना चाहिए।


संबंधित सवाल
सबसे लोकप्रिय