gpt4 book ai didi

mysql - 更改整个数据库的排序规则并解决非法的排序规则混合

转载 作者:行者123 更新时间:2023-11-29 09:19:50 29 4
gpt4 key购买 nike

我在 mySQL 中执行 LIKE '' 查询时遇到问题

这些是我的变量

  • character_set_client utf8
  • character_set_connection utf8
  • character_set_database latin1
  • character_set_filesystem 二进制文件
  • character_set_results utf8
  • character_set_server latin1
  • 字符集系统 utf8
  • character_sets_dir C:\xampp\mysql\share\charsets\
  1. 如何更改数据库排序规则?还有 table ?我有:

    • 一些表为带有 latin1_swedish_ci 的 MyISAM
    • 一些表作为 InnoDB 使用 utf8_general_ci

    我想我应该用 utf8_general_ci 转换每个表 InnoDB

  2. 我猜 DB 设置为 latin1_swedish_ci 所以我也应该更改它。执行答案 1) 中的过程将避免 mySql 中的非法混合排序规则错误,对吗?无需更改任何代码行...?

最佳答案

无论您使用哪种引擎,都可以将字符集和排序规则设置为 utf8_general_ci。因此,如果不需要,无需将MyISAM更改为InnoDB,只需更改排序规则即可。

字符集和排序规则按列设置。您可以更改整个表,但这实际上会更改每一列。请记住,表上设置的字符集和排序规则实际上只是新列的默认设置,数据库上设置的字符集和排序规则只是新表的默认设置。

最后,您正确地将客户端、连接和结果字符集全部设置为 utf8。这是必不可少的,否则 MySQL 会对传入或传出进行转码。确保您的客户端代码在设置数据库连接时显式设置这些。

关于mysql - 更改整个数据库的排序规则并解决非法的排序规则混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2418081/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com