开发者社区> 江大白> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

MySQL 修改表默认字符集行为

简介: 修改表默认字符集的行为,只是针对新加的字段的在没有指定字符集的时候,给该字段确定字符集。老的字段还是原先的字符集,因此在使用中会出现表的字符集明明是utf8mb4的,但是确存不了emoji。因此,推荐不用要这种方式修改表的默认字符集
+关注继续查看

转载自For DBA


前言

针对以下修改表字符集的行为做个记录

ALTER TABLE tbl_name DEFAULT CHARACTER SET charset_name;

实验过程

The word DEFAULT is optional. The default character set is the character set that is used if you do not specify the character set for columns that you add to a table later (for example, with ALTER TABLE ... ADD column).

官方文档的意思是修改表的默认字符集行为,只会对后面新增的没有指定字符集的字段有效

我们验证下:

CREATE TABLE `test_default_char` (
  `id` int(11) NOT NULL,
  `name` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

往里面插两条记录,分别带emoji和不带emoji

 insert into test_default_char values  (1,'哈喽');
 insert into test_default_char values  (2,'哈喽');

修改表字符集,添加新的列

 alter table test_default_char  CHARACTER SET utf8mb4;
 alter table test_default_char add c1 varchar(10);

继续往里面插两条记录,分别带emoji和不带emoji

 insert into test_default_char values  (3,'哈喽','哈喽');
 insert into test_default_char values  (4,'哈喽','哈喽');

查看结果

 mysql> select * from test_default_char;
+----+---------+------------+
| id | name    | c1         |
+----+---------+------------+
|  1 | 哈喽    | NULL       |
|  2 | 哈喽?   | NULL       |
|  3 | 哈喽    | 哈喽       |
|  4 | 哈喽?   | 哈喽       |
+----+---------+------------+
4 rows in set (0.00 sec)

我们发现就第四条记录的c1 字段是能看到emoji的

小结

修改表默认字符集的行为,只是针对新加的字段的在没有指定字符集的时候,给该字段确定字符集。老的字段还是原先的字符集,因此在使用中会出现表的字符集明明是utf8mb4的,但是确存不了emoji。因此,推荐不用要这种方式修改表的默认字符集

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MYSQL中约束及修改数据表
MYSQL中约束及修改数据表28:约束约束保证数据的完整性和一致性约束分为表级约束和列级约束约束类型包括:    NOT NULL(非空约束)    PRIMARY KEY(主键约束)    UNIQUE KEY(唯一约束)    DEFAULT(默认约束)    FOREIGN KEY(外键约束)...
625 0
代码修改mysql字符
为了不再显示的时候乱码,要修改数据库默认编码。以下以GBK编码页面为例进行说明:1、修改MYSQL的配置文件:my.ini里面修改default-character-set=gbk2、代码运行时修改:   ①Java代码:jdbc:mysql://localhost:3306/test?useUni...
659 0
+关注
江大白
哈哈哈哈哈哈哈哈哈哈
5
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载