mysql大小写敏感问题

  mysql关于大小写敏感的话题有以下三个:                  也就是你可以创建一个叫测试和测试的两个表,         但是windows默认是不区分大小写的,         LINUX:         编辑文/etc/my . cnf中所做件,在(mysqld)节下添加lower_case_table_names=1参数,这样就大小写不区分了,也就不能在一个库下创建测试和测试的两个表,并设置相应的值(备注:为0时大小写敏感,就是区分大小写,为1时大小写不敏感,也就是不区分大小写,默认为0)                  linux下默认是不区分大小写的,也就是一个表中有一个叫id的字段,就不能创建id的字段。         查询是不区分字段值的大小写,         如果想在查询时区分字段值的大小写,则:字段值需要设置二进制属性,设置的方法有多种:         ,创建时设置:         创建表T (         一个VARCHAR(10)二进制         );         B,使用改变修改:         改变表的表修改列cloname VARCHAR(10)二进制;                  mysql>创建表会(名称varchar (100);         mysql>插入你的价值观(hh);         查询好了,1行影响(0.00秒)         mysql>插入你的价值观(hH);         查询好了,1行影响(0.00秒)         mysql>从我选择* name=' hh ';         +------+         | |名称         +------+         | hh |         | hH |         +------+         2行集(0.00秒)         这时候你添加主键就会报的错         mysql>alter table会添加主键(名称);         错误1062(23000):重复条目“hh”关键“初级”         修改表的名字列的值为大小写不敏感。         mysql>alter table会修改varchar(100)二进制名称;         查询好,2行影响(0.02秒)         记录:2副本:警告:0         mysql>从我选择* name=' hh ';         +------+         | |名称         +------+         | hh |         +------+         1行集(0.00秒)         然后添加主键就没问题了。         mysql>alter table会添加主键(名称);         查询好,0行影响(0.02秒)         记录:0副本:0警告:0         
        小结:         MySQL在Linux下数据库名,表名,列名,别名大小写是这样的:         1、数据库名与表名是严格区分大小写的;         2,表的别名是严格区分大小写的;         3、列名与列的别名在所有的情况下均是忽略大小写的;         4、变量名也是严格区分大小写的;         MySQL在窗户下都不区分大小写。         

mysql大小写敏感问题