You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MariaDB/MySQL中将查询结果赋值到@var1、@var2变量?

MariaDB/MySQL 中给变量赋值的正确语法

针对你从my_table获取数据存入变量的需求,MariaDB和MySQL支持两种常用的语法,替代SQL Server的写法:

方法1:使用:=赋值运算符

直接在SELECT语句中给会话变量赋值,写法和SQL Server类似,仅需把赋值符号从=换成:=(因为MySQL/MariaDB中=在SELECT子句里是比较运算符):

SELECT @var1 := field1, @var2 := field2 
FROM my_table 
WHERE id = @varid;

如果查询返回多行,变量会被最后一行的结果覆盖。

方法2:使用SELECT ... INTO语法

这种写法更简洁,要求查询必须返回恰好一行(无结果或多结果都会报错),适合确定只有一条匹配数据的场景:

SELECT field1, field2 
INTO @var1, @var2 
FROM my_table 
WHERE id = @varid;

额外说明

  • @varid这类带@的是会话变量,无需提前声明即可使用,作用域为当前数据库连接。
  • 如果是在存储过程/函数中使用局部变量(不带@),需要先声明类型再赋值,例如:
DECLARE var1 INT;
DECLARE var2 VARCHAR(50);
SET var1 = (SELECT field1 FROM my_table WHERE id = varid);
SET var2 = (SELECT field2 FROM my_table WHERE id = varid);

或者用SELECT ... INTO给局部变量赋值:

DECLARE var1 INT;
DECLARE var2 VARCHAR(50);
SELECT field1, field2 INTO var1, var2 FROM my_table WHERE id = varid;

内容的提问来源于stack exchange,提问作者Nugroho Moristianto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 12:45:38