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

时间:2012-05-24 16:30:44

标签: mysql variables

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

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

基本上我希望将该员工的薪水存储为变量,然后我可以操作并添加。

这是正确的语法是什么,因为我无法让它发挥作用。

7 个答案:

答案 0 :(得分:58)

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;

答案 1 :(得分:12)

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

SELECT salary, salary_group INTO @var1, @var2 FROM employee_info WHERE emp_id = 12345678;

答案 2 :(得分:3)

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

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

然后打印变量:

SELECT @variable1;

答案 3 :(得分:2)

SELECT @code:=salary FROM employee_info WHERE emp_id = 12345678;

要检查工资,

SELECT @code;

薪水的结果将在code初始化。

More Information

答案 4 :(得分:2)

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

Select  @Amount1:=  Amount FROM table where id=57703;

答案 5 :(得分:1)

使用此

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

测试并且工作得很好......

答案 6 :(得分:0)

select @variable1 := salary FROM employee_info WHERE emp_id = 12345678;