আপনি যদি কোনও অনন্য সূচকে একাধিক কলাম ব্যবহার করছেন এবং এই কলামগুলির কমপক্ষে একটি বাধ্যতামূলক (অর্থাত্ একটি প্রয়োজনীয় ফর্ম ক্ষেত্র), আপনি যদি সূচীতে অন্য কলামগুলিকে NULL সেট করেন তবে আপনি নকল সারি দিয়ে শেষ করতে পারেন। এটি কারণ অনন্য কলামগুলিতে নাল মানগুলি উপেক্ষা করা হয়। এই ক্ষেত্রে, সদৃশ সারিগুলি এড়াতে অনন্য সূচকের অন্যান্য কলামগুলিতে খালি স্ট্রিং ব্যবহার করুন।
একটি অনন্য সূচক মধ্যে কলম্বস:
(ইভেন্ট_ টাইপ_আইডি, ইভেন্ট_ শিরোনাম, তারিখ, অবস্থান, ইউআরএল)
উদাহরণ 1:
(1, 'বিবিকিউ', '2018-07-27', নাল, নাল)
(1, 'বিবিকিউ', '2018-07-27', নাল, নাল) // অনুমোদিত এবং সদৃশ।
উদাহরণ 2:
(1, 'বিবিকিউ', '2018-07-27', '', '')
(1, 'বিবিকিউ', '2018-07-27', '', '') // এটি নকল হিসাবে অনুমোদিত নয়।
এখানে কিছু কোড রয়েছে:
CREATE TABLE `test` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`event_id` int(11) DEFAULT NULL,
`event_title` varchar(50) DEFAULT NULL,
`date` date DEFAULT NULL,
`location` varchar(50) DEFAULT NULL,
`url` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `event_id` (`event_id`,`event_title`,`date`,`location`,`url`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
এখন এটি সন্নিবেশ করুন এটি অনুলিপিযুক্ত সারিগুলির অনুমতি দেবে:
INSERT INTO `test` (`id`, `event_id`, `event_title`, `date`, `location`,
`url`) VALUES (NULL, '1', 'BBQ', '2018-07-27', NULL, NULL);
INSERT INTO `test` (`id`, `event_id`, `event_title`, `date`, `location`,
`url`) VALUES (NULL, '1', 'BBQ', '2018-07-27', NULL, NULL);
এখন এটি sertোকান এবং পরীক্ষা করুন যে এটি অনুমোদিত নয়:
INSERT INTO `test` (`id`, `event_id`, `event_title`, `date`, `location`,
`url`) VALUES (NULL, '1', 'BBQ', '2018-07-28', '', '');
INSERT INTO `test` (`id`, `event_id`, `event_title`, `date`, `location`,
`url`) VALUES (NULL, '1', 'BBQ', '2018-07-28', '', '');
সুতরাং, এখানে কোনও সঠিক বা ভুল নেই। আপনার ব্যবসায়ের বিধিগুলির সাথে কোনটি সবচেয়ে ভাল কাজ করে তা সিদ্ধান্ত নেওয়ার বিষয় আপনি।