5 mysql collation character-set
我有一个曾经是 latin1 的 MySQL 数据库,我将所有表中的所有列都更改为 utf8。但是,我显然没有做我必须做的所有事情,因为我刚刚发现我疯狂地混合了拉丁语和 utf8。基本上,任何新表和列都是不同的。
有没有办法设置数据库的默认字符集和排序规则,以便当我向该数据库添加新表时它们是 utf8?
Der*_*ney 11
是的,您可以在各个级别设置默认字符集和排序规则。
首先,在您的问题中,在数据库级别:
CREATE DATABASE IF NOT EXISTS foo
DEFAULT CHARACTER SET = 'utf8' DEFAULT COLLATE 'utf8_general_ci'
Run Code Online (Sandbox Code Playgroud)
或者
ALTER DATABASE foo
DEFAULT CHARACTER SET = 'utf8' DEFAULT COLLATE 'utf8_general_ci'
Run Code Online (Sandbox Code Playgroud)
如果表创建命令中未指定,则该数据库中的所有新表都应使用新字符集和数据库创建(如果在 table 命令中指定,则规范将覆盖数据库默认值)。
通过在 my.cnf 中提供--character-set-server和--collation-server选项并重新启动服务器,您可以在服务器级别设置默认值(以便所有表都使用所有数据库的默认值创建,除非另有明确说明)。
最后,验证客户端连接设置。本文档解释了客户端连接如何微调(和覆盖)默认设置。
| 归档时间: |
|
| 查看次数: |
14982 次 |
| 最近记录: |