注:
①关于lower_case_table_names参数对表名称或数据库名称大小写敏感的控制。
②Unix下默认为0,也就是大小写敏感的;Windows下默认为1,不敏感;macOS默认为2,存储区分大小写,但是在查询时会转换为小写。
③对于在大小写不敏感的系统(Windows和macOS)不能将该字段设置为0。
①linux默认情况下,对数据库名和表名的大小写是敏感的,因为linux系统本身对大小写就敏感。
②字段内容大小写不敏感。
③列名大小写不敏感。
只要在创建表的时候指定collate为utf8_bin,就可以实现大小写敏感
DROP TABLE IF EXISTS topics;
CREATE TABLE `topics` (
`id` varchar(36) NOT NULL,
`name` varchar(255) DEFAULT NULL
) ENGINE=InnoDB CHARSET=utf8 COLLATE=utf8_bin;
如果建表时未指定,则可修改字段的校对规则,也可以实现大小写敏感。
alter table topics modify name varchar(255) collate utf8_bin;