MySQL 8.0版本说明
MySQL 8.0源代码文档10bet官方网站
给出配置选项名称,从sys_config
表或提供的默认值(可能为零
)如果该选项在表中不存在。
如果sys_get_config ()
返回默认值,该值为零
,则希望呼叫者能够处理零
对于给定的配置选项。
按照惯例,调用sys_get_config ()
首先检查对应的用户定义变量是否存在且为非零
.如果是,则例程使用变量值而不读取sys_config
表格如果变量不存在或零
例程从表中读取选项值,并将用户定义变量设置为该值。有关配置选项及其对应的用户定义变量之间关系的详细信息,请参见第28.4.2.1节“sys_config表”.
如果您想检查配置选项是否已经设置,如果没有设置,则使用的返回值sys_get_config ()
,你可以使用IFNULL(…)
(参见后面的示例)。然而,这不应该在循环中完成(例如,对于结果集中的每一行),因为对于重复调用,其中只需要在第一次迭代中赋值,使用IFNULL(…)
的速度比使用如果(…)然后……如果;
块(参见后面的示例)。
in_variable_name VARCHAR (128)
:要为其返回值的配置选项的名称。in_default_value VARCHAR (128)
:如果配置选项没有在sys_config
表格
方法获取配置值sys_config
如果表中没有该选项,则返回到128作为默认值:
mysql> SELECT sys。sys_get_config('statement_truncate_len', 128) AS Value;+-------+ | | +-------+ | 64 | +-------+
一行程序示例:检查是否已经设置了选项;如果没有,则分配IFNULL(…)
的值(使用sys_config
表):
mysql> SETstatement_truncat_len = IFNULL(@sys。statement_truncate_len sys。sys_get_config (' statement_truncate_len ', 64));
如果(…)然后……如果;
检查是否已经设置了该选项;如果没有,则从sys_config
表:
如果(@sys。statement_truncat_len IS NULL)然后设置@sys。statement_truncat_len = sys。sys_get_config (statement_truncate_len, 64);如果;