如果你在mysql有唯一约束的列上插入两行值’A’和’a’,Mysql会认为它是相同的,而在oracle中就不会。就是mysql默认的字段值不区分大小写?这点是比较令人头痛的事。直接使用客户端用sql查询数据库。 发现的确是大小不敏感 。 通过查询资料发现需要设置collate(校对) 。 collate规则: *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 *_cs: case sensitive collation,区分大小写 *_ci: case insensitive collation,不区分大小写 关于字符 MySQL是一种广泛使用的开源关系型数据库管理系统,其默认配置在处理字符串时通常是不区分大小写的,这对于某些场景,比如实现特定的搜索逻辑或满足特定的数据唯一性要求,可能会造成困扰。本篇文章将深入探讨如何在MySQL中使查询时区分字符串中的字母大小写。 我们来看MySQL中的字符集和校对规则。字符集决定了数据库如何存储和表示字符,而校对规则则定义了字符的比较方式,包括是否区分大小写。MySQL支持多种字符集,如UTF8、latin1等,每个字符集下又有多个校对规则,例如`_bin`、`_cs`和`_ci`后缀的校对规则。`_bin`表示二进制校对,严格区分大小写;`_cs`代表区分大小写的校对规则;而`_ci`则表示不区分大小写。 如果你需要在查询时区分大小写,有以下几种方法: 1. 使用`BINARY`关键字:在查询语句中,可以对特定字段使用`BINARY`关键字来强制区分大小写,例如: ```sql SELECT * FROM usertable WHERE BINARY id = 'AAMkADExM2M5NjQ2LWUzYzctNDFkMC1h'; ``` 2. 修改表结构:创建表时,为需要区分大小写的字段指定`CHARACTER SET`和`COLLATE`,如: ```sql CREATE TABLE `usertable` ( `id` VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ``` 3. 修改数据库或服务器级别的字符集和校对规则:这将影响到整个数据库或服务器的行为,需谨慎操作。 值得注意的是,MySQL在处理关键字、表名和列名时的大小写规则受到操作系统的直接影响。在大多数Unix-like系统中,这些标识符是不区分大小写的,但在Windows系统中,它们通常是区分大小写的。然而,这并不是绝对的,因为具体行为也可能因服务器配置而异。 对于表的别名和列的别名,MySQL始终不区分大小写,这意味着: ```sql SELECT m.* FROM users m WHERE M.username = 'aa'; ``` 和 ```sql SELECT uName FROM (SELECT username AS uname FROM users WHERE id = 768); ``` 这样的写法在查询时不会因为大小写差异导致错误。 了解了这些,你可以根据实际需求调整MySQL的设置,以确保在查询时正确地处理字符串的大小写。如果你在处理涉及大小写敏感性的数据时遇到问题,可以考虑采用上述方法之一。同时,确保在设计数据库时考虑到这些因素,以便为应用程序提供一致且预期的行为。
- 粉丝: 5
- 资源: 953
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 有源电力滤波器(APF)模型 Matlab simulink 质量过硬 可用于治理不控整流和不平衡负载带来的电能质量问题:仿
- 西门子s7 200smart与3台三菱e740变频器通讯程序目的:西门子s7 200smart 控制3台三菱变频器通讯,通讯稳定
- 三相逆变器双闭环控制MATLAB Simulink模型,外环采用PR控制,内环采用比例控制 包含仿真模型,参考文献及设计报告
- 111Lego.zip
- Microsoft Visual C++ 14.0 or greater is required
- 产品经理项目实战案例 3:某互联网教育平台新功能开发项目.docx
- kxtj2-1009 重力传感器mtk平台驱动代码
- 基于mpc模型预测轨迹跟踪控制,总共包含两套仿真,一套是不加入四轮侧偏角软约束,一套是加入四轮侧偏角的软约束控制,通过carsi
- 基于STM32的智能环境监测系统的设计方案,该系统能够监测环境中的多种参数,如温度、湿度、光照强度等
- 巡线电力安全帽数据集,voc(xml)格式,标签为No-helmet Wear-helmet
- 1
- 2
前往页