我们来学mysql -- 区分大写
区分大写
- 题记
- 大小写不敏感文件文件系统
- 大小写敏感文件文件系统
- mysql认不认大小写
- lower_case_table_names
题记
- 混沌初开,万物共享盛世,自由自在好不快活
- 然,人性难掩,初露獠牙,喊杀一片,好不热闹
- 族群,部落,奴隶,分封,封建,共和,一路厮杀
- 造就多少达官贵族、英雄少年,家喻户晓,源远流长
- 有多少楼台烟雨,便有多少灰飞烟灭
- 不好意思,扯远了,这里只是来说 mysql 是否识大小写敏感
大小写不敏感文件文件系统
- win文件系统大小写不敏感
- 就是win文件系统不区分大写和小写
- 就是win文件系统 看AA和aa文件夹是一样
- 那为啥同目录下可以创建出AA文件夹,或者aa文件夹
- 这其实好解释,因为看到的是win的UI展示的,不是win文件系统看到的
- 说不定win文件系统使用时,将文件路径上的大写字符全转为了小写
- 是吧,咱也做个推测,全去了解,人生有限啊!
大小写敏感文件文件系统
- linux文件系统对大小写敏感
- 就是区分大写和小写
- 就是AA和aa是两个文件夹
mysql认不认大小写
- 官方的概括,很是浓缩,真太TM…,说的都是精华
- 开发这帮人中,半路出家就不配看文档吗
- 不好意思,失态了…
- 可见mysql认不认大小写,是对应操作系统上的文件系统决定的
- wins上,MSI安装的,在查表时候,输入大写表名,都会转为小写字段去文件系统中查找
select * from aa 查到 aa表 select * from AA 查到 aa表
- linux上,查表时,输入大写,在文件系统中查找对应目录
select * from aa 查 aa表 select * from AA 查 不到,因为没有AA表
- wins上,MSI安装的,在查表时候,输入大写表名,都会转为小写字段去文件系统中查找
- 好,这里好像和mysql认不认大小写没关系,它是被动接受的呀
- 是的,linux上默认就是大小敏感,因为区分嘛!
- 那咱能控制吗,AA和aa同时存在,User_info和 user_INFo 表同时存在,咱开发很被动呀
lower_case_table_names
- 在my.cnf(CentOS下配置文件是/etc/my.cnf)中更改最后添加 lower_case_tables_name = 1
- 这样就可以啦