Mysql在查询时不区分大小写
今天我在写查询条件时候,发现条件输入
select * FROM app_table_column_def WHERE table_name ='cs_Table';
查出的结果有点意外,大小写的都查出来了,如下
后来了解得知,MySQL 查询默认是不区分大小写的,如果需要区分大小写,就要在查询条件前加binary:
添加binary后,再写查询 select * FROM app_table_column_def WHERE binary table_name ='cs_table' ,
得到如下结果:
原理:mysql对于插入,varchar和text类型,binary属性可以为列分配该字符集的校对规则,binary属性是指定列字符集的二元校对规则的简写,排序和比较基于数值字符值,因此也就自然区分了大小写
因此,另外一种方法是在建表的时候加上标识binary
careate table cs_table(
table_name varchar(20) binary not null comment '表名',
... ...
)
linux下的docker操作命令及异常
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具