mysql查询不区分大小写解决方案(两种)

天哪,兄弟,我在 MySQL 查询方面遇到了很多陷阱。
有一年,我在公司做一个项目。
当时数据库中的表名都是大小写混合的。
结果,我尝试编写查询,但由于大小写不正确而找不到所有数据。
当时我真的很生气,也很着急。

后来我研究了两种解决方案。
第一种是直接修改MySQL配置。
当时我修改了MySQL配置文件,将lower_case_table_names参数改为1 ,使得表名不再区分大小写。
但是,您必须小心这一点。
进行任何配置更改后必须重新启动 MySQL 服务。
否则,新设置将不会生效。
这种方法的优点是一旦设置好,整个数据库就不再区分大小写。

第二种方式是在查询时使用COLLATE关键字。
后来我用这个技巧让查询不考虑大小写,比如在查询语句中写 SELECTFROMtable_nameWHEREcolumn_nameCOLLATEutf8 _general_ci='value' 。
这种方法的优点是灵活,不需要改变任何全局配置。
但缺点是有点麻烦,因为每次查询都要写COLLATE。

这两种方法都有各自的用途。
使用哪一种取决于您的需要。
例如,如果您的项目对数据库实践不敏感,则第一种方法可能更合适。
为了方便起见,我有时自己使用第二种方法,以避免每次都更改配置文件。

总之,这个大资金问题一定要根据实际情况来判断。
不过,如果以后遇到这种问题,可以自己用这两种方法来解决问题。
哈哈,希望我的经验对你有帮助!

mysql是否区分大小写?

默认区分大小写与 lower_case_table_names 有关。
VARCHAR 默认情况下不敏感。
编码影响灵敏度。
库编码需要统一。
Linux 有区别,但 Windows 没有。
要调整灵敏度,需要重新启动MySQL。