[mysql]mysql字段值不区分大小写

原创
2019/10/29 08:37
阅读数 22
insert into td_b_nodecode(ROADNODEID,version) values('x','1');
insert into td_b_nodecode(ROADNODEID,version) values('X','1');
主键冲突。(估计修改了lower参数?)
https://www.cnblogs.com/liangzia/p/11064217.html

CREATE TABLE `td_test`  (
  `id` varchar(6) NOT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin;

) COLLATE = utf8_bin;

);^p^palter table
) COLLATE = utf8_bin;^p^palter table


在mysql中存在着各种utf8编码格式: 
utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。 
utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。 
utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感。
https://blog.csdn.net/liuchen1314/article/details/80496627

alter table td_b_nodecode COLLATE = utf8_bin;
alter table td_b_noderelation COLLATE = utf8_bin;

alter table tf_b_enpass_etc COLLATE = utf8_bin;
alter table tf_b_enpass_mtc COLLATE = utf8_bin;
无论有没数据,alter都不行,字段还是ci。

必须先drop再create!
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部