0
点赞
收藏
分享

微信扫一扫

MySQL - 3719 ‘utf8‘ is currently an alias for the character set UTF8MB3

Aliven888 2022-06-27 阅读 20

Warning Description

3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.

MySQL Script with warning

CREATE TABLE `user` (
`id` INTEGER NOT NULL AUTO_INCREMENT COMMENT 'ID',
`role` VARCHAR(50) CHARACTER SET latin1 NOT NULL COMMENT 'Role',
`active` TINYINT NOT NULL COMMENT 'Active',
PRIMARY KEY (`id`)
)
ENGINE = InnoDB
DEFAULT CHARSET=utf8
COMMENT = 'User';

原因分析

“utf8”只支持每个字符最多三个字节,而真正的UTF-8是每个字符最多四个字节。

因此,MySQL 的 utf8不是真正的UTF-8,MySQL 的 utf8mb4(2010年发布)是真正的UTF-8。

MySQL Script without warning

CREATE TABLE `user` (
`id` INTEGER NOT NULL AUTO_INCREMENT COMMENT 'ID',
`role` VARCHAR(50) CHARACTER SET latin1 NOT NULL COMMENT 'Role',
`active` TINYINT NOT NULL COMMENT 'Active',
PRIMARY KEY (`id`)
)
ENGINE = InnoDB
DEFAULT CHARSET=utf8mb4
COMMENT = 'User';

 


举报

相关推荐

0 条评论