欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL服务器的SQL模式_MySQL

程序员文章站 2022-05-11 22:22:07
...
bitsCN.com


sql_mode的系统变量可以调控MySQL的SQL模式

任何一个客户端可以在不影响其它客户端的情况下改变MySQL服务器对自己的反应

MySQL服务器的SQL模式_MySQL

如果想在MySQL启动时设置SQL模式,可以在mysql配置文件中添加sql_mode选项

sql-mode=”TRADITIONAL”

如果在运行过程中修改SQL模式,则可以使用如下命令

setsql_mode="TRADITIONAL";

Client1

mysql> show variables like "sql_mode";

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| sql_mode||

+---------------+-------+

1 row in set (0.00 sec)

mysql> set sql_mode="TRADITIONAL";

Query OK, 0 rows affected(0.23 sec)

mysql> show variables like "sql_mode";

+---------------+---------------------------------------------------------------------------------------------------------

|Variable_name |Value |

+---------------+-----------------------------------------------------------------------------------------------------------

|sql_mode|STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO
_DATE,ERROR_FOR_pISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_
ENGINE_SUBSTITUTION|

+---------------+------------------------------------------------------------------------------------------------------------

1 rowin set (0.00 sec)

mysql>

Client2

Client1已经修改了SQL模式,但是Client2的SQL模式没有改变,这就说明客户端之间的模式修改
是互相不影响的

mysql> show variables like "sql_mode";

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| sql_mode||

+---------------+-------+

1 row in set (0.00 sec)

mysql>

设置全局变量(设置全局变量设置,需要加上GLOBAL关键字,需要SUPER权限)

mysql> set globalsql_mode="traditional";

Query OK, 0 rows affected(0.02 sec)

select@@session.sql_mode --》查看当前会话sql模式

select@@GLOBAL.sql_mode --》查看系统会话sql模式

设置全局变量后,新连接的客户端默认的就是全局的SQL模式

bitsCN.com