首先,我将John
设置为user-defined variable@name
,如下所示:
SET @name = 'John';
字符串
然后,我在一个事务中将David
设置为@name
,然后回滚,如下所示:
BEGIN;
SET @name = 'David';
ROLLBACK;
型
但是,@name
没有回滚到John
,如下所示:
mysql> SELECT @name;
+-------+
| @name |
+-------+
| David |
+-------+
型
我读了关于transaction和user-defined variables的文档,但我找不到任何相关信息。
那么,如何回滚用户定义的变量?
1条答案
按热度按时间yzuktlbb1#
用户定义的变量只要会话在线就处于活动状态,当您断开连接时,它就会消失。
事务作用域除了设置值之外,不触及它,也不能影响它,而且它不会反转它,因为它被放在它的作用域之外