数据库大小写不敏感后,值也不敏感了

news2024/11/18 9:28:13

现象:我有一个账号admin,结果莫名多了一个ADMIN、Admin、AdMin等一些列账号;细品你的密码就算密文签名,是不是在你不知情的情况下也有很多。

原因:数据库安装的时候设置的大小写不敏感导致

解决:建议第三种,给字段单独修改编码格式

1、重新开启大小写敏感

mysql5.7以前可以修改配置文件lower_case_table_names,但是mysql8需要安装的时候更改,谁爱动弹就改吧

2、查询条件增加 BINARY

在查询的sql中加入 BINARY 关键字,使用mysql 的 BINARY 关键字使搜索区分大小写。

select * from ep_r_user_login a where  BINARY  a.LOGIN_CODE='admin';

select * from ep_r_user_login a where  BINARY   a.LOGIN_CODE= upper('AdmiN');

 这种方式也好累,要改好多

3、修改字段字符集为utf8_bin

将某个字段的字符集排序规则,修改为utf8_bin,哪个字段需要改哪个字段就行,比如登录和密码,那就只更改登录和密码的字段就可以。

alter table 表名 modify column 字段 varchar(32) COLLATE utf8_bin ; 

 具体为啥看这个:mysql 存储大小写不敏感_MySQL疑04---对数据库中存储数据大小写不敏感问题_weixin_39693437的博客-CSDN博客

字段值的大小写由mysql的校对规则来控制。提到校对规则,就不得不说字符集。字符集是一套符号和编码,校对规则是在字符集内用于比较字符的一套规则。 一般而言,校对规则以其相关的字符集名开始,通常包括一个语言名,并且以ci(大小写不敏感)、cs(大小写敏感)或_bin(二元)结束 。

比如 utf8字符集,,如下表:

1)utf8bin:utf8bin将字符串中的每一个字符用二进制数据存储,区分大小写。

2)utf8generalci:utf8generaci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。

3)utf8generalcs:utf8generalcs区分大小写,cs为case sensitive的缩写,即大小写敏感。
 

4、如果所有的都要更改,又不想重新安装数据库

(感觉没必要,一开始不区分大小写,后面区分返工量不少)导出数据库,新建一个新的库字符集为utf8_bin,导入新库

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/128585.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spark 的学习笔记

Spark 的学习笔记 文章目录Spark 的学习笔记1. 概述Spark 优势及特点优秀的数据模型和丰富计算抽象Spark 生态圈Spark 特点Spark 与 HadoopSpark与MRSpark Streaming与StormSpark SQL与HiveSpark 运行模式2. 快速入门使用 Spark Shell 进行交互式分析基础Dataset 上的更多操作缓…

【机器学习】LDA算法原理

问题 线性判别分析(Linear Discriminant Analysis,LDA)是机器学习中常用的降维方法之一,本文旨在介绍LDA算法的思想,其数学推导过程可能会稍作简化。 LDA的思想 ● LDA是一种线性的、有监督的降维方法,即…

销售流程标准化重要吗?

各行各业都存在销售,但并不是每个销售都可以成为优秀的销售,优秀的销售往往有一套完整的销售流程,为了保证销售新人销售工作的顺利进行,销售流程标准化很有必要。 前言 各行各业都存在销售,但并不是每个销售都可以成为…

前端面试题之计算机网络篇--WebSocket基本使用

WebSocket 普通的包的请求和响应过程 1. 对 WebSocket 的理解 WebSocket是HTML5提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议。它基于TCP传输协议,并复用HTTP的握手通道。浏览器和服务器只需要完成一次握手,两者之间…

HDLBits练习汇总-13-时序逻辑设计测试--状态机(一)

简单摩尔状态机1(Fsm1) 是一个摩尔状态机,具有两种状态,一种输入,一种输出。实现此状态机。请注意,重置状态为 B。使用异步复位。 模块声明 module top_module(input clk,input areset, // Asynchrono…

基础数学复习(3)——曲线拟合

文章目录基础概念曲线拟合的流程极小化损失函数线性最小二乘超定方程组的最小二乘解(必考)例题(必考)使用法方程计算拟合方程使用最小二乘法求解总结基础概念 曲线拟合的流程 选取函数类选取参数的准则:极小化损失函…

实习-------数据库基础

检索数据 1、如果使用DISTINCT关键字,它必须直接放在列名的前面。不能部分使用DISTINCT,DISTINCT关键字应用于所有列而不仅是前置它的列 例如:SELECT DISTINCT vend_id告诉MySQL只返回不同(唯一)的vend_id行 2、带一…

(六)devops持续集成开发——jenkins的全局工具配置之node环境安装及配置

前言 本节内容主要是关于jenkins集成node组件,从而实现前端node项目的流水线CICD发布功能。我们需要先安装好前端组件node,并在jenkins中配置好node组件,这样就可以流水线发布一个前端工程了。 正文 安装node组件①上传node安装包 ②解压node安装包 t…

用纯python脚本玩转UU加速器

1. 前言 之前几期内容,我们出过纯py形式的Android自动化脚本。同学们一直让再出一下纯py形式的Windows脚本,今天我们以UU加速器为例,给大家出一个简单的学习demo。 2. UU加速器的自动化demo 今天的练习demo也非常简单,大致内容…

张勇用最严厉的内部信,敲打阿里云,也在提振阿里士气

“「客户第一」的价值观,从来都不是高高挂在公司墙上的标语,而是支撑我们每一天获得成长的基石”。这应该是阿里巴巴董事局主席兼CEO张勇,自2015年来最严厉的一封内部信。信件里,张勇一改往日温情形象,措辞严厉的批评了…

pybind11 | 绑定CGAL几何算法(numpy数据交换)

文章目录一 前言二 numpy数据交换2.1 pybind11对numpy的支持2.2 Numpy VF(py::array_t)与CGAL mesh(Surface Mesh)之间的转换三 绑定CGAL算法示例3.1 示例函数3.2 绑定部分代码3.3 示例完整代码四 编译生成和测试4.1 编译生成pyd文件4.2 Python调用测试五 总结参考和拓展一 前言…

day04 IDEA数组

第一部分 : IDEA开发工具 参见 :IEDA的安装请参考文件夹PPT中的 04_IDEA.ppt 1.数组 1.1 数组介绍 ​ 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。 1.2 数组的定义格式 1.2.1 第一种格式 ​ 数据类型[] 数组名 ​ 示例&…

【Linux】进程创建|进程终止|进程等待|进程程序替换

索引1.进程创建fork函数初识😊我们先来看这样的一个程序:写时拷贝fork返回值的三个问题2.进程终止进程退出场景进程常见退出方法进程退出码:3.进程等待进程等待的方法wait方法waitpid方法获取子进程status进程的阻塞等待方式:进程的非阻塞等待…

vue实现导入表格数据【纯前端实现】

一、文章引导 #mermaid-svg-3VJi5rNvrLDOy2MT {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3VJi5rNvrLDOy2MT .error-icon{fill:#552222;}#mermaid-svg-3VJi5rNvrLDOy2MT .error-text{fill:#552222;stroke:#55222…

WSL Ubuntu SSH

WSL中的IP wsl中的ubuntu的ip是动态分配的,每次开机都不一样,而且动态分配的ip和windows系统中的ip不在同一网段,但是我发现在windows中能ping通wsl中ubuntu的ip,这说明子系统与虚拟机不同,在查看ubuntu系统ip时&…

第010课 - docker安装mysql

第010课 - docker安装mysql docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ # 这个里面是容器内mysql相关的日志 -v /mydata/mysql/data:/var/lib/mysql \ # 这个里面是msyql数据相关的内容 -v /mydata/mysql/conf:/etc/mysql \ # 这个里面是容…

数据结构进阶 二叉树OJ题

作者:小萌新 专栏:数据结构进阶 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:介绍几道二叉树的oj题 二叉树OJ题题目一 根据二叉树创建字符串题目二 二叉树的层序遍历题目三 二叉树的最近公共祖先题目一 根据…

华为机试 HJ35 蛇形矩阵

华为机试 HJ35 蛇形矩阵[HJ35 蛇形矩阵](https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e)方法一:顺序填表方法2:数学规律HJ35 蛇形矩阵 描述 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 例如,当输入5…

【数据结构】链表基础知识讲解

文章目录链表链表的结构使用链表的优点模拟实现链表链表 在之前的学习中我们讲解了顺序表ArrayList,Java模拟实现顺序表,如果需要大家可以去看一看,顺序表底层的实现逻辑其实就是数组,在物理存储结构和逻辑上都是连续的&#xff…

Eth 03 -以太网驱动Eth的配置

以太网的配置,下面这张图描述了以太网的配置参数: EthCtrlConfig:单个控制器的配置EthCtrlEnableMii :启用/禁用用于收发器访问的媒体独立接口 (MII)EthCtrlEnableRxInterrupt:启用/禁用接收中断EthCtrlEnableTxInterrupt:启用/禁用传输中断EthCtrlIdx:指定已配置控制…