我目前在 Windows 10 中使用 mysql server 5.6。在使用 mysql 时,不断出现错误,类似于“以下列没有默认值”我在互联网上读到,如果我改变我可以解决这个问题sql_mode。目前设置为
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
我从“mysql server 5.6”文件夹中的“my-default.ini”文件中获取了这个。我读了其他几个答案,说如果你想永久更改你的 sql_mode,你应该通过“my-default.ini”文件来完成。所以我所做的是,我以管理员身份运行记事本,然后浏览打开“my-default.ini”文件,该文件位于:
c:\programs files (x86)\mysql\mysql server 5.6\my-default.ini
当我打开文件时,我修改了最后一行:
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
至
sql_mode=
然后我保存了文件,关闭了它。然后通过使用任务管理器我重新启动了我的 sql 服务器:
task manager >> services >> mysql56
这是应该永久修改我的 sql_mode 的整个过程。当我查看我的“my-default.ini”文件时,最后一行仍然被修改。但是如果我通过命令行登录mysql并使用以下代码查看我的sql_mode:
select @@sql_mode;
我知道我的 sql_mode 是
STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
我希望(永久)删除所有这些,以使我的错误消失。如果我尝试使用以下命令从命令行修改 sql_mode:
set @@global.sql_mode="";
它起作用了,但是当我重新启动 MySQL 时,一切都恢复了原来的样子。
有人可以告诉我我做错了什么吗?如果有另一种方法来解决这个问题。