详细分析Mysql中的SQL_MODE基本知识(附Demo讲解)
在MySQL中,sql_mode
是一个全局变量,用于定义服务器的SQL语法和行为。不同的sql_mode
设置可以改变服务器的行为,比如数据校验、SQL语法要求等。
常见的sql_mode
值包括:
STRICT_TRANS_TABLES
:对事务型表使用严格模式。NO_ENGINE_SUBSTITUTION
:如果需要的存储引擎不可用,则报错,而不是使用默认引擎。ONLY_FULL_GROUP_BY
:禁止不在GROUP BY子句中的列的非聚合查询。
解决方案和实例代码:
查看当前sql_mode
:
SELECT @@GLOBAL.sql_mode;
设置sql_mode
:
SET GLOBAL sql_mode = 'modes';
其中modes
是你想设置的模式列表,用逗号分隔。
例如,设置sql_mode
为严格模式并禁止引擎替代:
SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION';
注意:长期更改sql_mode
可能会导致现有应用程序的行为更改,因此更改前应仔细考虑。
评论已关闭