Mysql SELECT INTO 一次性给多个用户变量赋值

如果想要一次性将查询结果存储在多个用户变量中,可以使用SELECT INTO语法:

SELECT 
    c1, c2, c3, ...
INTO 
    @v1, @v2, @v3,...
FROM 
    table_name
WHERE 
    condition;

从MySQL 8.0.20版本后,INTO支持写在sql的句尾。

SELECT c1,c2 FROM t1 FOR UPDATE INTO @v1,@v2;

其中,c1、c2、c3是希望存储到变量中的列名或表达式,而@v1、@v2、@v3是用来存储c1、c2、c3的值的变量。

请注意,作为存储容器的变量的数量必须与列或表达式的数量相同,查询结果必须返回0或1条。

若查询没有返回任何结果,则Mysql会抛出没有数据的警告,作为存储容器的变量(@v1,@v2,@v3)的值保持不变。

若查询返回多行数据,则Mysql会直接抛出错误,因此建议使用limit 0,1或limit 1来限制返回数据的数量。

查询用户变量的方式很简单: select @v1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值