- 浏览: 786158 次
- 性别:
- 来自: 广州
文章分类
最新评论
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;
原文链接: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;
发表评论
-
在终端中粘贴字符时头尾出现“0~“和“1~“的特殊字符
2024-09-10 20:24 2791、问题:在linux终端粘贴命令时,总在开头和结尾多出0~和 ... -
用SQL命令查看Mysql数据库,表的大小方法
2016-05-07 22:42 1462要想知道每个数据库 ... -
mysql碎片整理方法
2015-11-10 11:55 5216对于一个表如果经常插入数据和删除数据,则会产生很多不连 ... -
mysql int(10)中的10表示的真正含义
2015-10-10 10:26 8403int(10): 之前总以为其中的10表示字段所能表示的位数 ... -
mysql replace into 用法详解
2015-10-10 09:53 5125Replace into是Insert into的增强版。在 ... -
mysql查看锁表方法详解
2015-10-17 16:51 22620mysql查看锁表方法详解 1、show OPEN ... -
mysql 修改表的语法详解
2015-07-21 20:09 1423mysql 修改表的详细语法介绍 ALTER [IG ... -
msyql设置密码报错:ERROR 1372 (HY000): 解决方法详解
2015-07-12 22:50 7638MySql给用户设置权限同时指定访问密码时,会提示如下错误 ... -
mysql 日期格式化date_format详细使用
2015-06-26 14:51 2469日期转换函数的详细使用说明 DATE_FORMAT( ... -
Linux系统上安装MySQL
2015-06-10 14:25 16901.准备工作 从MySQL官网上分别下载mysql服 ... -
mysql 在linux客户端插入数据中文乱码
2015-04-20 19:19 12161、查看系统客户端,数据库,连接层的编码 查看方法: h ... -
mysql 取每组前几条记录
2015-03-16 14:45 5293一、对分组的记录取前N条记录:例如:取每组的前3条最大的记 ... -
mysql数据导入、导出方法汇总
2015-03-06 11:20 3983一、mysql远程导入 前言部分 由于公司的MyS ... -
安装mysql
2015-03-04 10:04 469安装mysql (1)删除linux上已经安装的my ... -
mysql导入数据load data infile用法
2015-02-06 09:30 1291我们常常导入数据!mysql有一个高效导入方法,那就是load ... -
mysql导出数据不输出标题行
2015-01-14 09:49 4133当想使用数据库中的某些数据,想将其导入到文件中,而想去掉第一行 ... -
mysql导入导出数据中文乱码问题
2015-01-12 13:37 5526解决mysql导入导出数据乱码问题方法: 1、进入mysql ... -
select into outfile access deny问题
2015-01-12 11:49 3383本文转自:http://hatemysql.com/2010/ ... -
mysqldump导出时出现when doing LOCK TABLES
2015-01-12 11:25 2526执行 mysqldump -uxxx -pxxx -hxx ... -
CASE WHEN 用法介绍
2014-12-26 10:00 1105CASE WHEN 用法介绍 1. CASE WHEN 表达 ...
相关推荐
当遇到数据乱码的情况时,首先应检查数据库、表、字段的字符集设置是否一致,并且与服务器及客户端的字符集相匹配。如果发现不一致,可能需要更新表结构或导入数据时的字符集,以保证数据的一致性和正确性。 例如,...
### MySQL字符集转换详解 #### 一、引言 在MySQL数据库管理中,字符集的正确设置至关重要。它直接影响到数据的存储与检索效果,尤其是对于包含多种语言文本的应用场景而言。本文将围绕“MySQL字符集转换”这一主题...
在进行字符集修改时,需要注意以下几点: - 检查现有数据是否兼容新的字符集。 - 确保所有相关组件(如应用程序、连接器等)都支持所选字符集。 - 修改操作可能会影响性能,尤其是当涉及大量数据转换时。 - 修改...
- 检查并确保MySQL服务器、客户端、数据库、表和字段的字符集设置一致。 - 使用正确的编码读取和写入数据,如使用UTF-8编码的文件连接UTF-8的数据库。 - 数据导入导出时,指定相应的字符集,如`LOAD DATA INFILE ...
- **设置字符集**:MySQL允许在不同层级设置字符集,包括服务器级、数据库级、表级和字段级。如果没有明确指定字符集,那么它将继承上级的字符集设置。例如,可以通过以下命令设置服务器的默认字符集: ```sql SET...
批量修改Mysql一个数据库中表、表字段的字符集_mysql-character-update
在MySQL中,字符集主要分为全局字符集、数据库字符集、表字符集和字段字符集四级。全局字符集是服务器级别的设置,影响所有数据库;数据库字符集在创建数据库时指定,适用于该数据库的所有表;表字符集用于单个表,...
### MySQL字符集详解 ...通过上述步骤,可以在不影响现有数据的前提下,安全地更改数据库或表的字符集。正确管理和调整字符集是维护数据库数据完整性和准确性的重要环节,特别是在多语言环境中尤为重要。
mysql 中的字符集问题主要体现在三个方面:库的字符集、表的字符集和字段的字符集。 首先,库的字符集可以使用 show create database 命令来查看,例如: ``` mysql> show create database ku1\G * 1. row * ...
这个命令会更改`test`表中名为`name`的字段的字符集为`utf8`,同时保持其VARCHAR类型和非空约束不变。如果字段已有数据,记得先备份,因为修改字符集可能会影响数据的表示。 在执行这些操作之前,确保你理解表和...
为了支持多语言或特定字符集的需求,如中文、日文等,配置MySQL字符集至关重要。UTF-8字符集是一种非常常见且兼容性极强的编码方式,它可以表示世界上几乎所有的文字。本教程将详细介绍如何在Linux环境下设置MySQL...
在本案例中,问题的核心在于两个表之间的字段字符集不兼容,导致了"非法的混合排序规则"(Illegal mix of collations)错误。这个错误意味着在执行等于操作('=')时,涉及到了具有不同字符集的列。 首先,我们来...
这条命令会将表`tb_anniversary`的所有数据字段从当前字符集转换为UTF-8。 请注意,字符集转换可能会导致数据丢失,尤其是当原始字符集不支持某些在目标字符集中存在的字符时。因此,务必在进行此类操作前备份你的...
用户可以根据需求设定数据库、表或字段的字符编码,支持多种字符集,如UTF-8、GBK等,确保跨语言数据的正确存储和显示。 7. **备份与恢复**:SQLyog提供一键备份和恢复功能,可设置定时任务自动执行,保障数据安全...
如果表已经存在,你需要修改表的字符集,可以使用`ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;` 4. **更新已有数据**:如果表中已经有数据,可能需要先清空数据,然后...
在MySQL中,字符集用于定义数据库、表、列甚至连接的字符编码标准。默认情况下,MySQL可能不直接支持中文字符,因此我们需要手动设置为支持中文的字符集,如UTF8或UTF8MB4。UTF8是一种通用的多字节字符编码,能够...