MySQL Error number: MY-014005; Symbol: ER_WARN_DEPRECATED_USER_DEFINED_COLLATIONS_OPTION; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-014005; Symbol: ER_WARN_DEPRECATED_USER_DEFINED_COLLATIONS_OPTION; SQLSTATE: HY000
Message: %s: ‘%s’ is a user defined collation. User defined collations are deprecated and will be removed in a future release. Consider using a compiled collation instead.
错误说明:
MY-014005 这个错误的正式名称是 ER_WARN_DEPRECATED_USER_DEFINED_COLLATIONS_OPTION,这是MySQL的警告定义错误,表明您正在使用弃用的参数调用了用户定义的排序规则。
常见案例
要使用这个参数,用户必须在其SQL语句中嵌入一些MYSQL代码,比如在查询语句中包含适当的排序参数。这类案例经常出现在比较复杂的数据库操作中,这些操作要求对数据按照不同的优先级来排序,才能够达到期望的结果。
解决方法:
据官方文档所言,“用户定义的排序规则(UCS)(该MY-014005的警告提示)在MySQL 5.7.20中弃用。可采用其他排序规则,比如ORDER BY ucs2 collation或utf8mb4 collation替代UCS。
另外,如果要继续使用用户自定义排序规则,可以考虑在MySQL Server设置中添加一个以下选项来禁用警告:sqled_ignore_u_cs_ords = OFF。
最后,MySQL官方不建议在新的开发中使用用户自定义排序规则,而可以使用各种MySQL支持的索引和排序规则来解决排序规则问题,具体方法可查阅MySQL官方文档。