1

MySQL変数について学び、このようなコマンドを実行しようとしました

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

しかし、それはエラーであり、Unknown column 'name' in 'field list'
なぜエラーなのか、フィールドリストに列名があると確信しています

ここにテーブルのスクリーンショットがあります

MySQL テーブル

4

2 に答える 2

3

`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;
于 2012-08-01T07:06:26.963 に答える
0
SELECT @target:=`name` FROM transaction_product LIMIT 10;
于 2012-08-01T07:10:00.807 に答える