当将数据与不匹配的字符集或排序规则进行比较时,MySQL 中经常会出现可怕的“非法排序规则混合”错误。 本指南向您展示如何解决此问题,特别是解决“latin1_swedish_ci”和“utf8_general_ci”之间的冲突。
要快速修复仅影响当前的 MySQL 连接,请使用以下命令:
<code class="language-sql">SET collation_connection = 'utf8_general_ci';</code>
这会暂时调整会话的排序规则。
要获得持久的解决方案,请直接修改数据库和表排序规则:
your_database_name
替换为您的实际数据库名称:<code class="language-sql">ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci;</code>
your_table_name
):<code class="language-sql">ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;</code>
通过实施这些更改,您将标准化数据库和表以使用“utf8_general_ci”,消除未来的排序规则冲突并确保一致的数据处理。
以上是如何修复 MySQL'非法混合排序规则”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!