personnages

MySQL的大小写敏感性 lower_case_table_names

在执行MySQL 数据库给数据表改名时,发现报错,如下:

从提示中可以看出 blog_comment,表已经存在,可登录 MySQL 客户端查看数据表,并没有看到这张表。

提示中所说目标表并不存在。手动执行改名SQLRENAME TABLE blog_Comment TO blog_comment;,报同样错误:Table 'blog_comment' already exists

从网上找一些相关的文章,如下:

mysql运维-lower_case_table_names(大小写敏感)

mysql中lower_case_table_names参数的设置,table和DB大小写区分

根据上面查到的资料进行数据库 lower_case_table_names 参数查看:

show variables like "%lower_case_table_names%";
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_table_names | 2     |
+------------------------+-------+

lower_case_table_names 设置 2,创建的表和DB依据语句上格式存放,凡是查找都是转换为小写进行。

于是,在 配置文件中my.cnf[mysqld] 下增加行变量 lower_case_table_names = 0

改完以后再次执行 rename 操作。

An error occurred while retrieving the information for table 'blog_Comment'. Please try again.
MySQL said: Table 'blog_advanced.blog_Comment' doesn't exist

于是,只能打开


Article précédent: Article suivant: