我有一个Golang程序,可以连接到具有不同字符集或排序规则的数据库。
例如,编写Golang MYSQL驱动程序时的默认值为 utf8mb4_general_ci https://github.com/go-sql-driver/mysql#collation
但是,如果我连接到这样配置的数据库:
CREATE DATABASE example character set utf8mb4 collate utf8mb4_unicode_ci;
我可以期待“坏事发生”吗?索引不起作用?
答案 0 :(得分:0)
在大多数情况下,没有问题。例如,使用WHERE column=?
时,无论连接排序规则如何,都使用列排序规则。
另请参阅:https://dev.mysql.com/doc/refman/5.6/en/charset-collation-coercibility.html
但是我不能说这是100%安全的。在所有地方使用一个排序规则是安全的。