在 /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数据库字段中,数据会被截断,无法正常插入,导致异常。
MySQL5.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版本中的同目录下。问题解决。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)