তুলনাগুলি ক্ষেত্রে সংবেদনশীল হয় যখন কলামটি একটি সমষ্টি ব্যবহার করে যা শেষ হয় _ci
(যেমন ডিফল্ট latin1_general_ci
কোলিশেশন) এবং কলামটি সংবেদনশীল হয় যখন কলামটি একটি সমষ্টি ব্যবহার করে যা শেষ হয় _cs
বা _bin
(যেমন utf8_unicode_cs
এবং utf8_bin
কোলিশেশন) এর সাথে শেষ হয় ।
কোলেশন পরীক্ষা করুন
আপনি আপনার সার্ভার , ডাটাবেস এবং সংযোগ কোলিশনগুলি ব্যবহার করে এটি পরীক্ষা করতে পারেন :
mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
এবং আপনি এটি ব্যবহার করে আপনার টেবিলের জোট পরীক্ষা করতে পারেন :
mysql> SELECT table_schema, table_name, table_collation
FROM information_schema.tables WHERE table_name = `mytable`;
+----------------------+------------+-------------------+
| table_schema | table_name | table_collation |
+----------------------+------------+-------------------+
| myschema | mytable | latin1_swedish_ci |
কোলেশন পরিবর্তন করুন
আপনি আপনার ডাটাবেস, টেবিল বা কলামের সংযোগকে সংবেদনশীল কিছু হিসাবে পরিবর্তন করতে পারেন:
-- Change database collation
ALTER DATABASE `databasename` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
-- or change table collation
ALTER TABLE `table` CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
-- or change column collation
ALTER TABLE `table` CHANGE `Value`
`Value` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin;
আপনার তুলনাগুলি এখন কেস-সংবেদনশীল হওয়া উচিত।