mysql - 使用错误的排序规则连接到 mysql 服务器?

标签 mysql go

我有一个 Golang 程序,它可以连接到具有不同字符集或排序规则的数据库。

例如,在编写 Golang MYSQL 驱动程序时默认为 utf8mb4_general_ci https://github.com/go-sql-driver/mysql#collation

但是,如果我连接到这样配置的数据库:

CREATE DATABASE example character set utf8mb4 collate utf8mb4_unicode_ci;

我可以预料“坏事会发生”吗?索引不起作用?

最佳答案

在大多数情况下,没有问题。例如,当使用 WHERE column=? 时,无论连接排序规则如何,都会使用列排序规则。

另请参阅:https://dev.mysql.com/doc/refman/5.6/en/charset-collation-coercibility.html

但我不能说它是 100% 安全的。在所有地方使用一种归类是安全的。

关于mysql - 使用错误的排序规则连接到 mysql 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55998671/

相关文章:

MySQL:查询前n个聚合

php - 代表同一类别中的独特项目

go - 从函数类型获取结构

json - 如何将双引号中的内容与 golang 中的正则表达式进行匹配?

php - 页面上的 MySQL 语法错误代码

php - 项目不会从数据库中删除

mysql - 为什么当我在 MySQL 中执行 LEFT JOIN 时它不会减少行查找的数量?

go - 在 Go 中,定义明确的类型的 JSON 编码(marshal)处理会失败吗?

go - 在 gcloud go sdk for cloudresourcemanager 中使用上下文

go - Go 中的 CLI。显示流的结构