MySQL变量不起作用

时间:2012-08-01 07:05:10

标签: mysql

我试图了解MySQL变量并做这样的命令

SET @target=`name`;
SELECT @target FROM transaction_product LIMIT 10;

但这是错误,并说Unknown column 'name' in 'field list'
为什么这是错误,我确定我的字段列表中有列名称

这是表格的截图

MySQL Table

2 个答案:

答案 0 :(得分:2)

你需要使用不同的引号'name'为字符串赋值给变量,`name`用于列名:

SET @target='name';

获取列值,您可以使用INTO子句:

SELECT `name`
INTO @target
FROM transaction_product
LIMIT 1;

要在单个变量中获取多行,您可以使用GROUP_CONCAT

SELECT GROUP_CONCAT(`name`)
INTO @target
FROM transaction_product
LIMIT 10;

动态执行查询:

SET @target='`name`';

SET @query1 = CONCAT('
    SELECT ',@target,'
    FROM transaction_product
    LIMIT 10'
    );
PREPARE stmt FROM @query1; EXECUTE stmt; DEALLOCATE PREPARE stmt;

答案 1 :(得分:0)

SELECT @target:=`name` FROM transaction_product LIMIT 10;