31

这应该是一个简单的语法:我试图在 MySQL 中设置一个变量等于查询的结果,例如:

SET @variable1 = SELECT salary FROM employee_info WHERE emp_id = 12345678;

基本上,我希望将该员工的薪水存储为一个变量,然后我可以对其进行操作和添加。

正确的语法是什么,因为我无法让它工作。

4

7 回答 7

71
SELECT salary INTO @variable1 FROM employee_info WHERE emp_id = 12345678 LIMIT 1;

或者

SET @variable1 = (SELECT salary FROM employee_info WHERE emp_id = 12345678 LIMIT 1);

SELECT @variable1;
于 2012-05-24T16:34:58.187 回答
13

您甚至可以在单个查询中填充多个变量。

SELECT salary, salary_group INTO @var1, @var2 FROM employee_info WHERE emp_id = 12345678;
于 2013-11-08T12:10:18.607 回答
4

您非常接近正确的语法。这里是:

SET @variable1 = (SELECT salary FROM employee_info WHERE emp_id = 12345678);

然后像这样打印变量:

SELECT @variable1;
于 2012-05-24T16:50:20.230 回答
2
SELECT @code:=salary FROM employee_info WHERE emp_id = 12345678;

查工资,

SELECT @code;

工资的结果将在 中初始化code

更多信息

于 2014-07-03T10:27:51.960 回答
2

将查询结果设置为 MySQL 中的变量

Select  @Amount1:=  Amount FROM table where id=57703;
于 2014-09-17T08:28:47.243 回答
1
select @variable1 := salary FROM employee_info WHERE emp_id = 12345678;
于 2012-05-24T16:36:31.337 回答
1

用这个

SELECT weight INTO @x FROM p_status where tcount=['value'] LIMIT 1;

经过测试并且工作正常...

于 2014-04-27T22:41:06.030 回答