gpt4 book ai didi

MySql 更改了 lower_case_table_names 现在我不能选择表

转载 作者:行者123 更新时间:2023-11-28 23:35:51 32 4
gpt4 key购买 nike

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

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

我正在使用模式“玩具”,它有一个我正确创建的客户

最佳答案

在 my.cnf 做 lower_case_table_names=2 ,使用大写

来自 Mysql 手册,关于 lower_case_table_names 值:

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

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

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

在 Unix 上,lower_case_table_names 的默认值为 0。在 Windows 上,默认值为 1。在 OS X 上,默认值为 2。

编辑 my.cnf 值后不要忘记重新启动 MySQL。

关于MySql 更改了 lower_case_table_names 现在我不能选择表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35796950/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com