`

mysql修改表、字段、库的字符集

阅读更多
mysql修改表、字段、库的字符集(转)

原文链接:http://fatkun.com/2011/05/mysql-alter-charset.html

MySQL中默认字符集的设置有四级:服务器级,数据库级,表级 。最终是字段级 的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。所以我们建议要用show create table table ; 或show full fields from tableName; 来检查当前表中字段的字符集设置。


如果两个表的字段字符集不一致会报如下错误:

ERROR 1267 (HY000): Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='



解决方法

show create table table1;

show create table table2;

查看其字段的字符集是否一样,不一样直接按下面的方法改成一样就解决问题




修改数据库字符集:



ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];


把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:



ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]
如:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;


只是修改表的默认字符集:



ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];
如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;


修改字段的字符集:



ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];
如:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;


查看数据库编码:



SHOW CREATE DATABASE db_name;


查看表编码:



SHOW CREATE TABLE tbl_name;


查看字段编码:



SHOW FULL COLUMNS FROM tbl_name;
分享到:
评论

相关推荐

    设置mysql字符集

    当遇到数据乱码的情况时,首先应检查数据库、表、字段的字符集设置是否一致,并且与服务器及客户端的字符集相匹配。如果发现不一致,可能需要更新表结构或导入数据时的字符集,以保证数据的一致性和正确性。 例如,...

    mysql字符集转换

    ### MySQL字符集转换详解 #### 一、引言 在MySQL数据库管理中,字符集的正确设置至关重要。它直接影响到数据的存储与检索效果,尤其是对于包含多种语言文本的应用场景而言。本文将围绕“MySQL字符集转换”这一主题...

    MySql表、字段、库的字符集修改及查看方法

    在进行字符集修改时,需要注意以下几点: - 检查现有数据是否兼容新的字符集。 - 确保所有相关组件(如应用程序、连接器等)都支持所选字符集。 - 修改操作可能会影响性能,尤其是当涉及大量数据转换时。 - 修改...

    mysql字符集设置

    - 检查并确保MySQL服务器、客户端、数据库、表和字段的字符集设置一致。 - 使用正确的编码读取和写入数据,如使用UTF-8编码的文件连接UTF-8的数据库。 - 数据导入导出时,指定相应的字符集,如`LOAD DATA INFILE ...

    精通MySQL字符集与校对集

    - **设置字符集**:MySQL允许在不同层级设置字符集,包括服务器级、数据库级、表级和字段级。如果没有明确指定字符集,那么它将继承上级的字符集设置。例如,可以通过以下命令设置服务器的默认字符集: ```sql SET...

    Mysql字符集设置原理及常见问题解决

    在MySQL中,字符集主要分为全局字符集、数据库字符集、表字符集和字段字符集四级。全局字符集是服务器级别的设置,影响所有数据库;数据库字符集在创建数据库时指定,适用于该数据库的所有表;表字符集用于单个表,...

    Mysql字符集

    ### MySQL字符集详解 ...通过上述步骤,可以在不影响现有数据的前提下,安全地更改数据库或表的字符集。正确管理和调整字符集是维护数据库数据完整性和准确性的重要环节,特别是在多语言环境中尤为重要。

    mysql基础补充4-字符集问题

    mysql 中的字符集问题主要体现在三个方面:库的字符集、表的字符集和字段的字符集。 首先,库的字符集可以使用 show create database 命令来查看,例如: ``` mysql> show create database ku1\G * 1. row * ...

    修改MySQL数据库中表和表中字段的编码方式的方法

    这个命令会更改`test`表中名为`name`的字段的字符集为`utf8`,同时保持其VARCHAR类型和非空约束不变。如果字段已有数据,记得先备份,因为修改字符集可能会影响数据的表示。 在执行这些操作之前,确保你理解表和...

    linux下设置mysql字符集为UTF-8以及mysql重启.docx

    为了支持多语言或特定字符集的需求,如中文、日文等,配置MySQL字符集至关重要。UTF-8字符集是一种非常常见且兼容性极强的编码方式,它可以表示世界上几乎所有的文字。本教程将详细介绍如何在Linux环境下设置MySQL...

    MySql表字符集问题[参考].pdf

    在本案例中,问题的核心在于两个表之间的字段字符集不兼容,导致了"非法的混合排序规则"(Illegal mix of collations)错误。这个错误意味着在执行等于操作('=')时,涉及到了具有不同字符集的列。 首先,我们来...

    mysql修改数据库编码(数据库字符集)和表的字符编码的方法

    这条命令会将表`tb_anniversary`的所有数据字段从当前字符集转换为UTF-8。 请注意,字符集转换可能会导致数据丢失,尤其是当原始字符集不支持某些在目标字符集中存在的字符时。因此,务必在进行此类操作前备份你的...

    SQLyog MysqL汉化界面 可设字符编码

    用户可以根据需求设定数据库、表或字段的字符编码,支持多种字符集,如UTF-8、GBK等,确保跨语言数据的正确存储和显示。 7. **备份与恢复**:SQLyog提供一键备份和恢复功能,可设置定时任务自动执行,保障数据安全...

    mysql示例数据库(world)_解决中文乱码_使用UTF8字符集

    在MySQL中,字符集用于定义数据库、表、列甚至连接的字符编码标准。默认情况下,MySQL可能不直接支持中文字符,因此我们需要手动设置为支持中文的字符集,如UTF8或UTF8MB4。UTF8是一种通用的多字节字符编码,能够...

    MySQL中因字段字符集不同导致索引不能命中的解决方法

    经过分析,发现查询涉及到的子查询返回的GuidNo值与Orders表中的GuidNo字段字符集不匹配,导致索引无法被有效利用。为了解决这个问题,可以采取以下策略: 1. **统一字符集**:确保所有涉及到的表和字段都使用相同...

    MySQL数据库字符集的问题研究.pdf

    3. **调整服务器/数据库/表/字段编码**:检查并统一各层级的字符集设置,确保数据在存储过程中不会出现编码转换错误。 4. **升级MySQL版本**:部分早期版本可能存在已知的字符集兼容性问题,升级至最新版本可以解决...

Global site tag (gtag.js) - Google Analytics