用户在SQL查询中定义的变量

时间:2012-05-13 04:44:19

标签: mysql sql

我在使用SQL查询窗口调用phpmyadmin中的变量时遇到了一点麻烦。

我还在学习绳索所以这很简单。我相信这只是一个小的语法或引用问题。

我想做的是:

SET @var1 = Value (Does it need quote marks after "=" or not?)

SELECT * From `Table` WHERE 'Column' = @var1      (Same question about quote marks)

这看起来很愚蠢。我做了一次搜索,但却找不到我做错了什么。

2 个答案:

答案 0 :(得分:4)

你不需要引号:

SET @var1 =10;
SELECT * FROM table WHERE `column` = @var1 //should work

或者你可以这样做:

SET @var1:='somename';
SELECT * FROM table WHERE `somefield`=@var1

请参阅:variables

答案 1 :(得分:1)

如果您的值包含字符串,则必须在其周围使用引号,否则不会。但是你不应该引用你的专栏名称!所以:

SET @var1 = 'stringval';
SELECT * From Table WHERE Column = @var1;