উত্তর:
হ্যাঁ, মাইএসকিউএল একটি অনন্য সীমাবদ্ধতার সাথে একটি কলামে একাধিক NULL অনুমতি দেয়।
CREATE TABLE table1 (x INT NULL UNIQUE);
INSERT table1 VALUES (1);
INSERT table1 VALUES (1); -- Duplicate entry '1' for key 'x'
INSERT table1 VALUES (NULL);
INSERT table1 VALUES (NULL);
SELECT * FROM table1;
ফলাফল:
x
NULL
NULL
1
এটি সমস্ত ডাটাবেসের ক্ষেত্রে সত্য নয়। উদাহরণস্বরূপ, এসকিউএল সার্ভার ২০০৫ এবং তার চেয়েও পুরনো কেবল একটি কলামে একক নূন্যমূল্যকে মঞ্জুরি দেয় যা অনন্য সীমাবদ্ধ।
WHERE column IS NOT NULLএটি আমার ব্যর্থ হয়েছে বলে মনে হয় না এটি MySQL এর আমার সংস্করণে সমর্থন করে না। আমি কোথায় দেখতে পারে কেউ জানেন?
দস্তাবেজগুলি থেকে :
"একটি অনন্য সূচক কলামগুলির জন্য একাধিক নুল মানকে অনুমতি দেয় যা নুল থাকতে পারে"
এটি সমস্ত ইঞ্জিনের জন্য প্রযোজ্য তবে বিডিবি ।
আমি নিশ্চিত নই যে লেখক মূলত কেবল এটিই অনুরোধ করেছিলেন যে এটি নকল মানগুলিকে অনুমতি দেয় কিনা বা এখানে যদি এখানে একটি অন্তর্নিহিত প্রশ্ন জিজ্ঞাসা করা হয়েছিল, " NULLব্যবহারের সময় নকল মানকে কীভাবে অনুমতি দেওয়া যায় UNIQUE?" বা "কেবলমাত্র একটি UNIQUE NULLমানকে কীভাবে অনুমতি দেওয়া যায় ?"
ইতিমধ্যে প্রশ্নের উত্তর দেওয়া হয়েছে, হ্যাঁ সূচকটি NULLব্যবহার করার সময় আপনার সদৃশ মান থাকতে পারে UNIQUE।
যেহেতু "একটি UNIQUE NULLমানকে কীভাবে অনুমোদন করা যায়" সন্ধান করার সময় আমি এই উত্তরটিতে হোঁচট খেয়েছি। অন্য যে কেউ একই কাজ করার সময় এই প্রশ্নটিতে হোঁচট খেতে পারে তার জন্য আমার বাকী উত্তরটি আপনার জন্য ...
মাইএসকিউএলে আপনার একটি UNIQUE NULLমান থাকতে পারে না , তবে UNIQUEখালি স্ট্রিংয়ের মান সন্নিবেশ করে আপনার একটি খালি মান থাকতে পারে ।
সতর্কতা: সংখ্যার এবং স্ট্রিং ব্যতীত প্রকারগুলি 0 বা অন্য কোনও ডিফল্ট মানতে ডিফল্ট হতে পারে।
UNIQUEবাধা কারণে নয়, NOT NULLবাধা কারণে ails আমি মনে করি এই উত্তরটি প্রশ্নের সাথে অপ্রাসঙ্গিক কারণ প্রশ্নটি বিশেষভাবে UNIQUEসীমাবদ্ধতার আচরণ সম্পর্কে ।
অযোগ্য অনন্য বাধা এড়ান id আপনি কলামটি সর্বদা একটি নতুন টেবিলের মধ্যে রাখতে পারেন, এটিকে শূন্য ও অনন্য করে তুলুন এবং তারপরে সেই টেবিলটি কেবল তখনই তৈরি করতে পারেন যখন তার জন্য কোনও মূল্য থাকবে। এটি নিশ্চিত করে যে কলামে কোনও মূল নির্ভরতা সঠিকভাবে প্রয়োগ করা যেতে পারে এবং শূন্যতার কারণে যে কোনও সমস্যা এড়ানো যায়।