在操作数据库时,客户端提示如下错误:

MySQL5.7.26错误问题 mysqld.exe: Error while setting value 'STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION' to 'sql_mode'

这样的问题出现,是因为MySQL的配置文件my.ini中sql_mode的值,逗号后面加上了空格导致的无法启动,需要手动删除空格就可以了。

通过谷歌搜索了一下,找到了最终的解决方案,如下:

my.ini原来部分代码:

tmp_table_size=64M
wait_timeout=120
sql_mode=STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION

[client]
port=3306
default-character-set=utf8

my.ini修改后代码:

tmp_table_size=64M
wait_timeout=120
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[client]
port=3306
default-character-set=utf8

最后,重启即可。

修改前后的比对提示,如下图:
QQ20230906-081119@2x.png

本文转自:https://xinyufeng.net/2022/03/28/