MySql更改了小写字母表名,现在我无法选择表

MySql更改了小写字母表名,现在我无法选择表,mysql,Mysql,我这样做是为了能够创建大写的表,现在当我尝试更改、选择大写类或对大写类执行任何操作时,我出现了一个错误,因为它查找的是小写版本 SELECT cust_id FROM Customer LIMIT 0, 1000 Error Code: 1146. Table 'toys.customer' doesn't exist 我使用的是schema toys,它有一个我在my.cnf do lower_case_table_names=2中正确创建的客户表 从Mysql手册中,关于小写字母表名称值:

我这样做是为了能够创建大写的表,现在当我尝试更改、选择大写类或对大写类执行任何操作时,我出现了一个错误,因为它查找的是小写版本

SELECT cust_id FROM Customer LIMIT 0, 1000
Error Code: 1146. Table 'toys.customer' doesn't exist

我使用的是schema toys,它有一个我在my.cnf do lower_case_table_names=2中正确创建的客户表

从Mysql手册中,关于小写字母表名称值:

0表和数据库名称使用CREATE Table或CREATE database语句中指定的字母大小写存储在磁盘上。名称比较区分大小写。如果在具有不区分大小写文件名(如Windows或OS X)的系统上运行MySQL,则不应将此变量设置为0。如果在不区分大小写的文件系统上使用-lower-case table names=0强制将此变量设置为0,并使用不同的字母大小写访问MyISAM tablename,则可能会导致索引损坏

1表名以小写形式存储在磁盘上,名称比较不区分大小写。MySQL在存储和查找时将所有表名转换为小写。此行为也适用于数据库名称和表别名

2表和数据库名称使用CREATETABLE或CREATEDATABASE语句中指定的字母大小写存储在磁盘上,但MySQL会在查找时将其转换为小写。名称比较不区分大小写。这仅适用于不区分大小写的文件系统!InnoDB表名以小写形式存储,如小写形式的表名=1

在Unix上,小写字母表名称的默认值为0。在Windows上,默认值为1。在OSX上,默认值为2


编辑my.cnf值后,别忘了重新启动MySQL。

尝试对表名进行反勾选。顺便问一下,您重新启动了MySQL服务器吗?是的,我重新启动了,否则我将无法创建大写的表,我只是尝试创建小写的表来测试相同的内容,它在my.cnf do lower_case_table_names=2中工作,若要使用大写。此查询返回什么?选择@@lower\u case\u table\u names?将在文件my.ini的末尾编辑小写\u case\u table\u names=2,该文件位于目录C:\ProgramData\MySQL\MySQL Server 5.7,im使用windows 10。我从服务中重新启动了MySQL,在我以这种方式重新启动之前它不起作用,现在我可以用大写字母创建,但我不能修改它们,也不能从Scriptssory中使用它们。我想你正在使用Windows。你能从命令行访问MySQL吗?在那里尝试查询>>显示变量,如“%case_table_names%”;它向您展示了什么?我正在学习MySql,我可以访问MySql命令行,然后输入query,我有->箭头,然后我可以输入一个输入,我如何显示“%case\u table\u names%”变量?