今天踩坑了,MySQL创建了一个唯一索引,唯一健冲突,冲突原因是:”字段内容值大小写MySQL不区分,当作同一条记录了处理了“。我来总结下:

目录

1:MySQL表面区分大小写

2:表字段内容区分大小写


1:MySQL表名区分大小写

可以通过:lower_case_table_names参数来设置

一 :修改方式

1:修改数据库参数文件:my.cnf
2:在mysqld下 添加或修改 lower_case_table_names = 1
3:重启数据库

二 :参数值含义

lower_case_table_names=0   表名存储为给定的大小和比较是区分大小写的
lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=2   表名存储为给定的大小写但是比较的时候是小写的

unix,linux下lower_case_table_names默认值为 0

Windows下默认值是 1

Mac OS X下默认值是 2

三:查看修改

show variables like 'lower_case_table_names';

2:表字段内容区分大小写

-- 不区分大小写
CREATE TABLE `leyangjun_test_one` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',`app` varchar(30) NOT NULL DEFAULT '' COMMENT '客户端|应该',`source` varchar(30) NOT NULL DEFAULT '' COMMENT '订单来源',`pay_channel` varchar(16) NOT NULL DEFAULT '' COMMENT '支付渠道(weixin、alipay)',`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',PRIMARY KEY (`id`),UNIQUE KEY `un_idx_asps` (`app`,`source`,`pay_channel`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='乐杨俊测试';-- 区分大小写
CREATE TABLE `leyangjun_test_two` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',`app` varchar(30) NOT NULL DEFAULT '' COMMENT '客户端|应该',`source` varchar(30) NOT NULL DEFAULT '' COMMENT '订单来源',`pay_channel` varchar(16) NOT NULL DEFAULT '' COMMENT '支付渠道(weixin、alipay)',`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',PRIMARY KEY (`id`),UNIQUE KEY `un_idx_asps` (`app`,`source`,`pay_channel`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='乐杨俊测试';

举例子:

现在有个记录

id app source pay_channel
1 mtxx leyangjun_test weixin
2 mtxx leyangjun_Test weixin

表 leyangjun_test_one方式下,第二条记录是插入不进去的,报错唯一键冲突

表leyangjun_test_two方式下,第二条记录是正常可以插入的,因为增加了:COLLATE=utf8mb4_bin(区分大小写)。

如果需要大小写敏感,需要将排序规则修改为utf8mb4_bin即可

MySQL区分大小写相关推荐

  1. Linux 下 Mysql 区分大小写

    Linux 下 Mysql 区分大小写 问题描述 将 SpringBoot 项目部署到 linux 服务器之后,运行数据库报错 Error querying database. Cause: java ...

  2. mysql 区分大小写的问题

    MYSQL区分大小写 1.linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写: 2.用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_c ...

  3. mysql 区分大小写(大小写敏感)配置

    Linux下mysql默认区分大小写 Windows下mysql默认不区分大小写 查看是否区分大小写 show variables like 'lower%' lower_case_table_nam ...

  4. mysql区分大小写搜索

    form:http://www.uphtm.com/database/257.html 在默认情况下,MySQL搜索不区分大小写(但某些字符集始终区分大小写,如czech).这意味着,如果你使用col ...

  5. mysql区分大小写嘛_Mysql区分大小写问题

    在 MySQL 中,数据库和表其实就是数据目录下的目录和文件,因而,操作系统的敏感性决定数据库和表命名的大小写敏感.这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Un ...

  6. MySQL填坑系列--Linux平台下MySQL区分大小写问题

    问题引入 大家好,我是软件大盗(道),下面开始我们的<MySQL填坑系列>. 笔者最近又在MySQL的边缘试探,然后,试探着,试探着就报错了. 情景还原 书接上文,系统连接数据库时报错:找 ...

  7. Mysql区分大小写(大小写敏感)配置

    Linux下mysql默认区分大小写 Windows下mysql默认不区分大小写 查看是否区分大小写 show variables like 'lower%' lower_case_table_nam ...

  8. 【MySQL】mysql区分大小写问题

    最近模糊查询数据库里面的内容时,发现查询出来的内容与自己想要的不一样,筛选的结果区分了大小写. 参考博客链接:https://www.cnblogs.com/457248499-qq-com/p/73 ...

  9. 解决Linux docker中的mysql区分大小写问题

    注:mysql5.7为本例docker中mysql容器的名称. 进入mysql容器: docker exec -it mysql5.7 /bin/bash 以root用户登录mysql: mysql ...

  10. linux下mysql区分大小写的内容

    1.数据库名严格区分大小写 2.表名严格区分大小写的 3.表的别名严格区分大小写 4.变量名严格区分大小写 5.列名在所有的情况下均忽略大小写 6.列的别名在所有的情况下均忽略大小写 转载于:http ...

最新文章

  1. 如何才能建立起似然函数
  2. bzoj 1863 二分+dp check
  3. 1.0Nvm环境配置
  4. 新手坐高铁怎么找车厢_京沪高铁设置静音车厢,你怎么看?
  5. PHP自动判断用户会员过期,php,_定时扣除用户过期积分,但平台用户量比较大,有没有好的解决方法?,php - phpStudy...
  6. android设置控件形状,Android控件自定义形状
  7. 在Sharepoint Designer 2007 中加入定制的工作流动作
  8. 百度编辑器UEditor源码模式下过滤div/style等html标签
  9. 实验1 201521410028
  10. [leetcode] 839. 相似字符串组并查集
  11. 2016蓝桥杯C++A:寒假作业(详细解析)
  12. ios添加GPUImage到项目
  13. .doc文件不显示word图标
  14. 亲爱的,别把上帝缩小了 ---- 读书笔记3
  15. android service开启前台通知
  16. linux报错ora12514,ORA-12514:RMAN连接报错解决
  17. mysql多表关联数据删除
  18. 人物-胡玮炜:胡玮炜
  19. 诗词格律[4] 古体诗
  20. 获取html中光标位置

热门文章

  1. 数学杂谈:高维空间向量夹角小记
  2. 常用计算机设备有哪几种,简述输入、输出设备功能,计算机中常用的输入、输出设备有哪几种?...
  3. 工业无线通信网络步入LTE 时代
  4. JS特效之超级好看的鼠标小尾巴
  5. asp.net2.0(C#)图像处理类[转]
  6. 中印程序员对比:是什么让我们觉得印度程序员很厉害?
  7. 房产销售数据分析与可视化的设计与实现
  8. Image Denoising Via Sparse and Redundant Representations Over Learned Dictionaries
  9. 解决vue报错:Avoided redundant navigation to current location
  10. 2021-2027全球与中国彩色TFT液晶屏市场现状及未来发展趋势