我试图了解MySQL变量并做这样的命令
SET @target=`name`;
SELECT @target FROM transaction_product LIMIT 10;
但这是错误,并说Unknown column 'name' in 'field list'
为什么这是错误,我确定我的字段列表中有列名称
这是表格的截图
答案 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;