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'
服务重启之后,会恢复原样。。