Mysql 的sql-mode可以在mysql的配置文件中进行更改,更改完重启服务即可。

Sql-mode设置不同的模式对数据的插入错误的数据会产生不同的效果。

比如在高版本中text无法设置默认值,但是在执行插入语句的时候,又没有值,就有可能报错,我们可以通过设置sql-mode来改变这样的结果。

sql_mode="",不对数据进行检测(错误提示、语法模式检查等),从某种程度来说,可以提高数据库的性能,但是安全性则会降低,有可能插入了你完全不想要的数据,但是你都无法找出哪里错了。

还有其他几种模式,每种模式的限制级别,都不一样。这边主要讲下如何设置。

修改配置

简单暴力的方法就是修改配置文件了,并且是一劳永逸的。

修改my.ini或者my.cnf,找到sql-mode进行修改

从命令行

查看当前模式

select @@sql_mode

会返回当前的sql-mode

设置sql-mode

set sql-mode='NO_ENGINE_SUBSTITUTION'

服务重启之后,会恢复原样。。