Mysql : dump database, 所有表名称在 Windows 服务器上均为小写(不在 Linux 上)

标签 mysql

我从 Linux 服务器执行数据库转储。

mysqldump -u root -p database_from_linux >database_from_linux.sql

我通过此转储在 Windows 服务器上创建新数据库:

mysql -u root -p database < database_from_linux.sql

在 Windows 服务器上,所有表名称均为小写,而在 Linux 服务器上,所有表名称均为大写。

在 SQL 脚本中,表名称为小写。

如何在 Windows 服务器数据库中保留大写字母?

服务器Linux 14.10
Mysql 5.5.40-ubuntu01
Mysql工作台6.1

服务器 Windows 2012
Mysql 5.5.47
Mysql工作台6.3

谢谢。

最佳答案

根据mysql docs您可以在 Linux 上设置 lower_case_table_names=0 ,在 Windows 上设置 lower_case_table_names=2 。这将保留大小写,但在编写查询时您还必须指定正确的大小写。

我认为最好在所有地方设置lower_case_table_names=1。您仍然可以使用任何大小写输入查询,但在内部它会转换为小写。

关于Mysql : dump database, 所有表名称在 Windows 服务器上均为小写(不在 Linux 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34718786/

相关文章:

php - 在 phpmyadmin 中查询成功,在 php 中查询失败

Mysql ON DUPLICATE UPDATE 错误 - 多列进行计算

php - 删除mysql中一个表中的重复行及其另一个表中的相应数据

如果sql记录是新的则PHP语句显示图像

mysql - 根据其他 2 个表中的列值更新表

php - 我的 PDO 代码是否有错误或需要在 MySQL 中修复某些内容?

php - 数据未插入数据库

php - 这里出了什么问题-MySQLi 和自定义类

mysql - 连接Elasticsearch并删除mysql服务器

php - 使用Where和Group By子句在Yii中的CDBCriteria中编写查询