mysql数据字段不能保存数据_mysql关于包含表情昵称字段保存数据库失败问题处理...

mysql关于包含表情昵称字段保存数据库失败问题处理

时间:2018-11-26 16:00:01

[导读]原来数据库结构CREATE TABLE `user` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `user_nickname` varchar(255) CH

原来数据库结构

CREATE TABLE `user` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`user_nickname` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '抽奖用户昵称'

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=85 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

user_nickname 字段非 utf8mb4  保存表情符号报错。

insert into user (user_nickname) values (?)

java.lang.RuntimeException: org.hibernate.exception.GenericJDBCException: Incorrect string value: 'xF0x9Fx92xA5' for column 'user_nickname' at row 1

org.hibernate.exception.GenericJDBCException: Incorrect string value: 'xF0x9Fx92xA5' for column 'user_nickname' at row 1

at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)

at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)

at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)

at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:129)

解决办法:

修改字段编码类型为 utf8mb4

sql 语句: ALTER TABLE user MODIFY COLUMN user_nickname varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户昵称';

e6595449ee4b3cf9ebc6b742a561a320.png

35bd2489a3c9a0e07efcc580eb47510a.png

bb500e66d1393437fb65a78aeb11d45b.png

08b914f88441c8259da11b5e8dc8abf5.png

换一批

延伸阅读

1.什么Mysql的事务?事务的四大特性?事务带来的什么问题?

Mysql中事务的隔离级别分为四大等级:读未提交(READ UNCOMMITTED)、读提交 (READ COMMITTED)、可重...

想进大厂,mysql不会那可不行,来接受mysql面试挑战吧,看看你能坚持到哪里?

1. 能说下myisam 和 innodb的区别吗?

myisam引擎是5.1版本之前的默认引擎,支持全文检索、压...

写在前面

最近,在开发一个分库分表中间件,由于功能需求,需要分析MySQL协议,发现网上对于MySQL协议分析的文章大部分都过时了,原因是分析的MySQL版本太低了。怎么...

想进大厂,Mysql 不会那可不行,来接受 Mysql 面试挑战吧,看看你能坚持到哪里?

1. 能说下myisam 和 innodb的区别吗?

myisam引擎是5.1版本之前的默认引擎,支持全文检...

本文作者王良辰,京东中台架构师,擅长分布式系统及高可用、高并发系统架构与设计。曾经为企业开发过多个通用脚手架,推崇以技术手段提升开发效率、约束开发行为。

什么是Explain

Explai...

作者:游泳的石头

来源:http://39sd.cn/07EB1

什么是事务

事务是应用程序中一系列严密的操作,所有操...

前言

MySQL 死锁异常是我们经常会遇到的线上异常类别,一旦线上业务日间复杂,各种业务操作之间往往会产生锁冲突,有些会导致死锁异常。这种死锁异常一般要在特定时间特定数据和特定业务操作才会复现,并且分析解决时还...

在上一篇文章《用Explain 命令分析 MySQL 的 SQL 执行》中,我们讲解了 Explain 命令的详细使用。但是它只能展示 SQL 语句的执行计划,无法展示为什么一些其他的执行计划未被选择,比如说明明有索...

写在前面

最近,有小伙伴出去面试,面试官问了这样的一个问题:如何查询和删除MySQL中重复的记录?相信对于这样一个问题,有不少小伙伴会一脸茫然。那么,我们如何来完美的回答这个问题呢?今天,我们就一...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值