骏马金龙 (新博客:www.junmajinlong.com)

网名骏马金龙,钟情于IT世界里的各种原理和实现机制,强迫症重症患者。爱研究、爱翻译、爱分享。特借此一亩三分田记录自己成长点滴!!!

翻译:SET子句(已提交到MariaDB官方手册)

本文为mariadb官方手册:SET的译文。

原文:https://mariadb.com/kb/en/set/
我提交到MariaDB官方手册的译文:https://mariadb.com/kb/zh-cn/set/

语法

SET variable_assignment [, variable_assignment] ...

variable_assignment:
      user_var_name = expr
    | [GLOBAL | SESSION] system_var_name = expr
    | [@@global. | @@session. | @@]system_var_name = expr

可以在任意表达式中使用下面的语法设置用户变量:

user_var_name:= expr

描述

SET语句可以为影响服务端或客户端的不同变量类型进行赋值。老版本的MySQL采用SET OPTION,但是不赞成使用带有OPTIONSET语法,且其在MariaDB 10.0版本中已经移除。

要为基于每查询(per-query)(从MariaDB 10.1.2之后开始的功能)的变量赋值,参见SET STATEMENT

要查看服务端系统变量,可参见SHOW VARIABLES

Server System Variables列出了所有的系统变量。

示例

SHOW VARIABLES WHERE Variable_name LIKE "aria_group_commit%";
+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| aria_group_commit          | none  |
| aria_group_commit_interval | 0     |
+----------------------------+-------+

SET GLOBAL aria_group_commit="HARD";

SET GLOBAL aria_group_commit_interval=100;

SHOW VARIABLES WHERE Variable_name LIKE "aria_group_commit%";
+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| aria_group_commit          | hard  |
| aria_group_commit_interval | 100   |
+----------------------------+-------+

直接赋值:

SELECT (@a:=1);
+---------+
| (@a:=1) |
+---------+
|       1 |
+---------+

SELECT @a;
+------+
| @a   |
+------+
|    1 |
+------+
posted @ 2018-03-21 12:08  骏马金龙  阅读(448)  评论(0编辑  收藏  举报