একটি MySQL টেবিলে কোনো ডুপ্লিকেট এন্ট্রি প্রবেশ করার অনুমতি না দেওয়ার জন্য, আপনাকে অনন্য কী যোগ করতে হবে। সিনট্যাক্স নিম্নরূপ -
পরিবর্তন উপেক্ষা টেবিল yourTableName যোগ করুন সীমাবদ্ধতা অনন্য কী(yourColumName);
উপরের সিনট্যাক্স অনন্য কী সেট করে। উপরের সিনট্যাক্স বুঝতে, আসুন একটি টেবিল তৈরি করি।
নীচে একটি টেবিল তৈরি করার জন্য ক্যোয়ারী −
mysql> টেবিল তৈরি করুন RemoveDuplicateEntry −> ( −> Id int, −> Name varchar(100) −> )ENGINE =MyISAM; কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.15 সেকেন্ড)
এখন আপনি শুরুতে আলোচনা করা সিনট্যাক্স বাস্তবায়ন করতে পারেন। প্রশ্নটি নিম্নরূপ -
mysql> সারণী পরিবর্তন করুনDuplicateEntry যোগ করুন সীমাবদ্ধতা অনন্য কী(Id);কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.56 সেকেন্ড)রেকর্ডস:0 ডুপ্লিকেট:0 সতর্কতা:0
এখন টেবিলের গঠন পরীক্ষা করা যাক। প্রশ্নটি নিম্নরূপ -
mysql> desc RemoveDuplicateEntry;
নিচের আউটপুট −
<প্রে>+------+---------------+------+------+---------+ -------+| মাঠ | প্রকার | শূন্য | কী | ডিফল্ট | অতিরিক্ত |+------+---------------+------+------+---------+- ------+| আইডি | int(11) | হ্যাঁ | ইউএনআই | NULL | || নাম | varchar(100) | হ্যাঁ | | NULL | |+------+---------------+------+------+---------+- -----+2 সারি সেটে (0.00 সেকেন্ড)এখন, ডুপ্লিকেট এন্ট্রি সহ কিছু রেকর্ড সন্নিবেশ করা যাক। এটি সন্নিবেশ করা হবে না যেহেতু আমরা উপরে UNIQUE ব্যবহার করেছি −
৷রেকর্ড সন্নিবেশ করার জন্য ক্যোয়ারী নিম্নরূপ -
mysql> RemoveDuplicateEntry মান (101,'John'); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.06 সেকেন্ড)
এখন, আপনি যদি একই রেকর্ড আবার সন্নিবেশ করেন, তাহলে নিম্নলিখিত ত্রুটিটি দৃশ্যমান হবে −
mysql> RemoveDuplicateEntry মান (101,'John'); ERROR 1062 (23000):কী 'আইডি'-এর জন্য ডুপ্লিকেট এন্ট্রি '101' প্রবেশ করান
সিলেক্ট স্টেটমেন্ট সহ টেবিল থেকে সব রেকর্ড চেক করুন। প্রশ্নটি নিম্নরূপ -
mysql> RemoveDuplicateEntry থেকে *নির্বাচন করুন;
নিম্নোক্ত আউটপুট কোন ডুপ্লিকেট এন্ট্রি ছাড়া রেকর্ড প্রদর্শন করছে −
+------+------+| আইডি | নাম |+------+------+| 101 | জন |+------+------+1 সারি সেটে (0.00 সেকেন্ড)