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

时间:2015-01-09 23:47:44

标签: mysql mysql-workbench

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

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` ;

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

1 个答案:

答案 0 :(得分:1)

我发现问题是我在重新初始化之前没有丢弃我的数据库模式,因此更改没有传播到当前数据库。

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

DROP SCHEMA IF EXISTS `database_name` ;

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