在 MySQL 中,用户变量的作用范围是会话级别(session level)

也就是说,当一个会话(session)结束时,用户变量的值会被清除。但是,如果是在同一个会话中执行多个查询,并且在这些查询之间保持会话处于活动状态,用户变量的值会在会话中保持不变。

SET @rank=0; 设置了一个用户变量 @rank 的初始值为 0,并且在接下来的查询语句中使用了这个变量。

  • 如果这些查询是在同一个会话中依次执行的,并且没有中断会话,则变量 @rank 的值会一直保持,直到会话结束。
  • 在会话中,如果执行了 SET @rank=1; 命令,它会重置用户变量 @rank 的值为 1。无论之前 @rank 的值是多少,在执行该命令后,它都会被设置为 1。

mysql 会话何时结束?

 

作者 admin

百度广告效果展示