①可以直接把sql语句的运行结果赋值给变量:
②可以将表达式计算后的结果赋值给变量:(mybatis中不支持这种写法)
自定义变量的限制:
①无法使用查询缓存;
②不能在使用常量或者标识符的地方使用自定义变量,例如表名、列名或者limit字句;
③用户自定义变量的生命周期是在一个连接中有效,所以不能用它们来做连接间的通信;
④不能显式地声明自定义变量的类型;
⑤MySQL优化器在某些场景下可能会将这些变量优化掉,这可能导致代码不能按预料的方式运行;
⑥赋值符号:=的优先级非常低,所以在使用赋值表达式的时候应该明确地使用括号;
⑦使用自定义变量不会产生任何语法错误。