mysql写表名如何区分大小写

很早就听说 linux 区分大小写,没想到此次遇到了数据库中区分大小写。

平时开发一般都是在 windows 平台,不区分大小写,但是到了linux ,嘿嘿,很多都需要注意了。

mysql数据库默认是区分表名大小写的,若要忽略表名大小写,添加一个配置即可:

vi /etc/my.cnf
在[mysqld]栏下增加:
lower_case_table_names = 0 // 忽略大小写,如果设置

lower_case_table_names = 1 // 区分大小写。

默认mysql是区分大小写的。

时间: 2025-01-24 19:35:02

mysql写表名如何区分大小写的相关文章

linux下mysql写表名如何区分大小写

linux下的mysql数据库默认是区分表名大小写的,若要忽略表名大小写,添加一个配置即可: vi /etc/my.cnf 在[mysqld]栏下增加: lower_case_table_names = 0 则可忽略大小写,如果设置 lower_case_table_names = 1则区分大小写. 默认mysql是区分大小写的. 本文出自 "技术成就梦想" 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/526417 查看本栏目更多精彩内

MySQL表名不区分大小写的设置方法_Mysql

原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:1.用root登录,修改 /etc/my.cnf:2.在[mysqld]节点下,加入一行: lower_case_table_names=13.重启MySQL即可: 其中 lower_case_table_names=1 参数缺省地在 Windows 中这个选项为 1 ,在 Unix 中为 0,因此在window中不会遇到的问题,一旦一直到linux就会出问题的原因(尤其在mysql对表起名时是无

mysql查找表名

问题描述 一个查询,查询的是两个表的相同字段,而且要区分这个字段是哪个表中查找出来的,所以要把表名也找出来.怎么做呢? 问题补充:AngelAndAngel 写道 解决方案 这表是系统表 加索引估计不好弄了解决方案二:用select http://guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields引用ree-1.8.7-2011.03 :003 > Post => Post(id: integ

Windows下导出导入Mysql的sql文件表名如何区分大小写

windows 下的解决方法: my.ini 里面的mysqld部分 加入 lower_case_table_names=2 [mysqld] lower_case_table_names=2 set-variable=lower_case_table_names=0 port= 3306 注: 1 表示不区分大小写 2表示区分大小写 然后重启mysqld服务器 ,在xampp重启mysqld服务可以通过xampp目录下的mysql_start.bat 重启mysqld服务后,命令行进入mysq

如何将MySQL的两个表名对调_Mysql

前言 前段实践遇到个问题,在类似pt-osc场景下,需要将两个表名对调,怎么才能确保万无一失呢? 分析 一些人可能就会想,表名对掉还不简单吗,相互RENAME一下嘛. 但是,我们想要的是同时完成表名对调,如果是先后的对掉,可能会导致有些数据写入失败,那怎么办? 解决 其实也不难,从MySQL手册里就能找到方法,那就是:同时锁定2个表,不允许写入,然后对调表名. 我们通常只锁一个表,那么同时锁两个表应该怎么做呢,可以用下面的方法: LOCK TABLES t1 WRITE, t2 WRITE; A

SQL Server数字开头的数据库表名的解决方法_MsSql

今天遇到了个郁闷的问题,关于数据库表名的问题.     SQL Server的数据库的表名可以用数字开头,但是在查询的时候,不能直接写表名,如下:         select *         form 1_tablename     在执行过程中,报错.但是给表名加上中括号,就可以了,如下:         select *         from [1_tablename]     用VS中的DataSet开发时,会自动生成SQL语句,但是生成的SQL语句中,有的加上方括号,但是有的没

SQL Server数字开头的数据库表名的解决方法

今天遇到了个郁闷的问题,关于数据库表名的问题. SQL Server的数据库的表名可以用数字开头,但是在查询的时候,不能直接写表名,如下: select *         form 1_tablename 在执行过程中,报错.但是给表名加上中括号,就可以了,如下: select *         from [1_tablename] 用VS中的DataSet开发时,会自动生成SQL语句,但是生成的SQL语句中,有的加上方括号,但是有的没有加, 这在程序执行过程中,就不能确定语句的正确性,而且

Linux mysql表名区分大小写设置与实验测试

修改mysql教程 server安装目录下的 my.ini 文件,在mysqld节下加入下面一行 set-variable=lower_case_table_names=0 (0:大小写敏感:1:大小写不敏感)最后重启一下mysql服务即可. 1.lower_case_tables_name=0的情况(linux默认) 直接启动mysql教程,在mytest库中新建表mytable和mytable mysql> use mytest; mysql> create table mytable(i

更改MYSQL数据库不区分大小写表名

今天郁闷死了,在LINUX下调一个程序老说找不到表,但是我明明是建了表的,在MYSQL的命令行下也可以查到,为什么程序就找不到表呢? 后来请教了一个老师才搞定,原来是LINUX下的MYSQL默认是要区分表名大小写的,哎,弄了那么旧,害死我了. 让MYSQL不区分表名大小写的方法其实很简单: 1.用ROOT登录,修改/etc/my.cnf 2.在[mysqld]下加入一行:lower_case_table_names=1 3.重新启动数据库即可.