gpt4 book ai didi

mysql - 如何在每个数据库或表基上覆盖 MySQL 区分大小写?

转载 作者:行者123 更新时间:2023-11-29 01:51:53 27 4
gpt4 key购买 nike

我一直在阅读有关编辑 my.cnf 文件的解决方案,但是我希望对除 1 之外的所有数据库都区分大小写,并且编辑 my.cnf 将更改所有数据库的大小写。

有没有一种方法可以通过表插入和/或数据库创建来专门禁用区分大小写,这样我就可以针对每个表或每个数据库而不是跨所有数据库禁用区分大小写?

我正在使用 mysql、php 和 pdo 数据库连接,以防对解决方案很重要。

最佳答案

不幸的是,没有每个数据库设置。每MySQL Documentation您可以在启动 mysqld 时使用 lower_case_table_names 系统变量,但这也是全局的,而不是您正在寻找的每个 DB 解决方案。正如@cris85 已经评论过的那样...链接的文档还说明了以下替代方案

To convert one or more entire databases, dump them before setting lower_case_table_names, then drop the databases, and reload them after setting lower_case_table_names:

Use mysqldump to dump each database:

mysqldump --databases db1 > db1.sql
mysqldump --databases db2 > db2.sql
...

Do this for each database that must be recreated.

Use DROP DATABASE to drop each database.

Stop the server, set lower_case_table_names, and restart the server.

Reload the dump file for each database. Because lower_case_table_names is set, each database and table name will be converted to lowercase as it is recreated:

mysql < db1.sql
mysql < db2.sql

关于mysql - 如何在每个数据库或表基上覆盖 MySQL 区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39430122/

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