在 MySQL Workbench 中设置默认排序规则方法不会更改排序规则方法

Setting default collation method in MySQL Workbench doesn't change the collation method

我正在使用 MySQL workbench 设计我的 MySQL 模式,我需要我的数据库区分大小写。我已将默认排序规则方法设置为 latin1_general_cslatin1_binutf8_bin 无济于事。当我使用命令 SELECT collation(version()) 检查 MySQL 中的排序规则版本时,它 returns

mysql> select collation(version());
+----------------------+
| collation(version()) |
+----------------------+
| utf8_general_ci      |
+----------------------+
1 row in set (0.00 sec)

不管我选择了什么默认方法。

当我进行以下搜索时:

mysql> select * from table_name where t_name = "search_request";

我回来了SEARCH_REQUEST,还有search_request

但是,如果我使用命令

mysql> select * from table_name where t_name = "search_request" collate utf8_bin;

我得到了预期的结果,search_request

顺便说一句,在我的 .sql 文件中,我看到以下内容:

CREATE SCHEMA IF NOT EXISTS `database_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin ;
USE `database_name` ;

这让我非常困惑,为什么我没有看到正确的结果或正确的默认排序方法。有什么想法吗?

我发现问题是我在重新初始化数据库模式之前没有删除它,所以更改没有传播到当前数据库。

只需将此命令添加到我的 .sql 脚本的开头:

DROP SCHEMA IF EXISTS `database_name` ;

解决了我的问题,我可以进行区分大小写的查询!