mysql 5.7.9 插入数据异常,异常如下。

mysql 5.7.9 插入数据异常,异常如下。,第1张

在 /etc/my.cnf 文件里加上如下:

sql_mode='NO_ENGINE_SUBSTITUTION',然后重启Mysql服务就可以了。

一、异常信息:

errorCode:1366 Caused by: java.sql.SQLException: Incorrect string value: '\xE7\xAE...' for column 'description' at row 1

二、异常原因:

(1)、字符集冲突,mysql insert入库的时候,由于插入数据编码与数据库字段字符集不一致,导致数据无法插入。

(2)、在mysql数据库中执行show character set,可以看到不同的字符集的最大长度不同。如果执插入utf8编码数据,数据库表中字段字符集是latin。(查询字段字符集方法:show full columns from user),如果最大长度为3的utf8字符集存储到最大长度为1的latin数据库字段中,数据会被截断,无法正常插入,导致异常。

MySQL

5.7.9版本sql_mode=only_full_group_by问题

用到GROUP

BY

语句查询时com.MySQL.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:

Expression

#2

of

SELECT

list

is

not

in

GROUP

BY

clause

and

contains

nonaggregated

column

'col_user_6.a.START_TIME'

which

is

not

functionally

dependent

on

columns

in

GROUP

BY

clause

this

is

incompatible

with

sql_mode=only_full_group_by错误

解决方法

执行SET

GLOBAL

sql_mode

=

''

把sql_mode

改成非only_full_group_by模式。

验证是否生效

SELECT

@@GLOBAL.sql_mode

SELECT

@@sql_mode

SET

sql_mode

='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGI

以上所述是小编给大家介绍的解决MySQL

5.7.9版本sql_mode=only_full_group_by问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

我遇到同样的错误,折腾了好久才摸索出来。网上的解决办法都试过了,没有确实可行的。最终总结出来,终于解决了。

我的下载的是mysql-5.7.9绿色版出的问题。最终解决过程供你参考:

1、下载的mysql-5.7.9,出现你的问题。试了各种办法无法解决。有网友说mysql-5.7.9版本有问题。我改下载了5.6.27版本,尝试不成功。但报错变为:无法启动mysql服务,发生错误1067。解决办法:my.ini 添加 tmpdir = D:\mysql-5.6.27-winx64\data。问题解决。

2、后来我对比了mysql-5.7.9与5.6.27,发现mysql-5.7.9-winx64没有data目录,mysql-5.6.27-winx64\data\mysql,存了不少数据文件。原来调试5.7.9的版本时,记得日志报告一直有mysql.user、mysql.plugin不存在的提示。(原以为这些文件会自动生成)。后来把这个mysql-5.6.27-winx64\data下的mysql文件夹整个复制到5.7.9版本中的同目录下。问题解决。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7475791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存