美文网首页
MySQL 修改字符集

MySQL 修改字符集

作者: 我只是一个小白 | 来源:发表于2019-01-17 11:24 被阅读0次

    utf8是utf8mb4的子集,一般情况下,应该是可以直接修改表字符集的。

    修改字符集的几种方法

    方法一

    • 修改表默认字符集
      mysql> alter table j1 default character set utf8mb4;

    • 随后再修改所有字符型列的字符集
      mysql> alter table j1 modify name varchar(20) character set utf8mb4 not null default '';

    方法二

    • 也是执行ALTER TABLE来修改,但有更简单的解法
      mysql> alter table j1 convert to character set utf8mb4;

    方法三

    • 如果不放心,可以用mysqldump逻辑备份方式,用utf8mb4字符集把数据备份出来,新建表,恢复回去,应该也可以的。

    区别

    • 采用方法一,如果遇到某个列字符集转换完后字节数超限了,会提示错误。
    • 而采用方法二,如果遇到某个列字符集转换完后字节数超限了,则会将这个列数据类型转换成可以容纳更大长度的类型,比如从 TEXT 转成 LONGTEXT 等。

    结论

    想从小字节数(2字节/3字节)字符集(gb2312、utf8)转换到大字节数(4字节)字符集(utf8mb4),是可以直接转换的。
    相反,想从大字节数字符集转成小的,则会有风险,例如字符串被截断等。

    相关文章

      网友评论

          本文标题:MySQL 修改字符集

          本文链接:https://www.haomeiwen.com/subject/wkabdqtx.html