因为要从mysql5.x升级到mysql8,原来数据库表里面的一些utf-8字段只支持utf8mb3,更新到utf8mb4以支持更多的unicode字符.
解决办法
改变数据库
ALTER DATABASEdatabase_nameCHARACTER SET = utf8mb4COLLATE = utf8mb4_general_ci;
改变表
ALTER TABLEtable_nameCONVERT TO CHARACTER SET utf8mb4COLLATE utf8mb4_general_ci;
改变字段
ALTER TABLEtable_nameCHANGE column_name column_nameVARCHAR(191) ## 根据数据库实际长度进行增减CHARACTER SET utf8mb4COLLATE utf8mb4_general_ci;