暂无图片
如何消除 MySQL表中的字段特别设置的字符集和排序规则?
我来答
分享
暂无图片 匿名用户
如何消除 MySQL表中的字段特别设置的字符集和排序规则?

希望列跟表看齐

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
王运亮

重新指定字段字符集即可(排序规则默认)

CREATE TABLE `t1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `serial_no` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

alter table t1 modify `serial_no` varchar(50) CHARACTER SET utf8mb4 NOT NULL;

show create table t1;
/*
CREATE TABLE `t1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `serial_no` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
*/

暂无图片 评论
暂无图片 有用 1
chengang

mysql 有语句可以重新指定全表字符集。

CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `serial_no` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

执行语句:

ALTER TABLE t1 CONVERT TO CHARACTER SET utf8mb4;

CREATE TABLE t1 (
id int NOT NULL AUTO_INCREMENT,
serial_no varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

官方文档介绍
To change the table default character set and all character columns (CHAR, VARCHAR, TEXT) to a new character set, use a statement like this:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;

暂无图片 评论
暂无图片 有用 1
2022-07-15
ALTER TABLE t1 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ;
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏