• 1
  • 2
  • 3
  • 4
  • 5
mysql数据库问题 首 页  »  帮助中心  »  数据库  »  mysql数据库问题
RDS mysql区分大小写情况介绍
发布日期:2015-11-14 14:11:50

  RDS mysql区分大小写情况介绍

  数据库区分大小写分为:对字段内的内容查询大小写敏感和对表名大小写敏感

  1)字段内容查询大小写敏感,具体情况如下:

  _bin: 表示的是binary case sensitive collation,也就是说是区分大小写的

  _cs: case sensitive collation,区分大小写

  _ci: case insensitive collation,不区分大小写

  (1)查询时指定collation(缺点每次查询都要指定)

  例:SELECT * FROM case_test WHERE word COLLATE latin1_bin LIKE 'F%

        (2)设置表collation,使其为binary或case sensitive

  例:create table case_bin_test (word VARCHAR(10)) CHARACTER SET latin1 COLLATE latin1_bin;

  (3)设置列collation,使其为binary或case sensitive

  例:create table case_bin_test (word VARCHAR(10) CHARACTER SET latin1 COLLATE latin1_cs);

  (4)字段值需要设置BINARY属性

  例:CREATE TABLE h( A VARCHAR(10) BINARY );

       2)表名大小写敏感,具体情况如下:

  lower_case_table_names 这个参数控制的是针对表名的大小写是否敏感(和字符串比较是否区分大小写没有关系),

  RDS默认值 1:是针对 表名 不区分大小写,通常情况下这是兼容性最好的设置

  RDS默认值0:SQL 中对库名表名需要严格区分大小写,要不然会出现表不存在的错误

  RDS默认值2:创建的表和DB依据语句上格式存放,只要是查找都是转换为小写进行。

  lower_case_table_names 该参数在控制台中是不能进行设置的

  如果问题还存在,请联系阿里云售后支持。