如何将查询结果分配给变量?

时间:2016-05-07 11:00:44

标签: mysql sql variables

我有这个问题:

SELECT col1, col2 FROM tablename WHERE id = 'n';

注意: n是唯一的,上面查询的结果总是一个行。

现在我想将col1col2存储到变量中。像这样:

SET @var_name = SELECT col1, col2 FROM tablename WHERE id = 'n';

如您所见,有两列。所以我想知道如何分别获得这些列的值?

实际上我想这样使用:

SET @var_name = SELECT col1, col2 FROM tablename WHERE id = 'n';

IF ( @var_name[col1] = 'x' AND @var_name[col2] = 'xx' ) THEN
    -- do stuff
ELSEIF ( @var_name[col1] = 'y' AND @var_name[col2] = 'yy' ) THEN
    -- do stuff
END IF;

但我的语法不起作用。我该如何解决?

1 个答案:

答案 0 :(得分:2)

您可以将其存储在两个变量中:

sortedList = listSort.OrderBy(x=> (string)x.GetReflectedPropertyValue("Sort"),new MrFourCompare()).ToList();

您可以使用某种形式的连接来获取这两个值的字符串表示形式:

SELECT @var1 := col1, @var2 := col2
FROM tablename
WHERE id = 'n';

但是,MySQL变量不是数组,因此您只能使用数字和字符串类型。