gpt4 book ai didi

mysql - 如何将sql模式变量设置为mysql中的局部变量

转载 作者:行者123 更新时间:2023-11-29 10:57:59 25 4
gpt4 key购买 nike

我想要的是,我想将 sql_mode 变量设置为局部变量,而不是 session 或全局变量。这样做的原因是我想在执行其中一个查询后消除 sql 模式变量的更改。下面的 session 和全局工作得很好,但这不是我想要的。全局模式永远保持sql模式为空模式。 session 1 保持 sql 模式为空,直到连接关闭。我想要的事情是,保持 sql 模式直到只执行采石场。

mysql> set global sql_mode='';
mysql> set session sql_mode='';

mysql查询:-

SELECT tc_exe_grp_num,tcs.tc_tc_id,tcs.tcs_id  
FROM tc_exe_res tcer
INNER JOIN tcs tcs
ON tcs.tcs_id = tcer.tcs_tcs_id
WHERE tcs.tc_tc_id='1'
AND tcs.tc_tc_id='1'
GROUP BY tc_exe_grp_num
ORDER BY tc_exe_grp_num ;

got the idea from this article

请帮助我。

最佳答案

@@sql_mode 是 session 变量,而不是局部变量。

可以检索 sql_mode 的当前设置,并将其保存在用户定义的变量中,然后将 sql_mode 设置回原始设置。

例如:

 -- save current setting of sql_mode in user defined variable
-- change sql_mode to desired setting
SET @SAVE_sql_mode = @@sql_mode ;
SET @@sql_mode = 'NO_ENGINE_SUBSTITUTION' ;

-- subsequent operations run under new setting of sql_mode
SELECT '...';


-- set sql_mode back to saved setting
SET @@sql_mode = @SAVE_sql_mode ;

关于mysql - 如何将sql模式变量设置为mysql中的局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42742934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com