Если строка находится в вашем внешнем приложении (например, PHP), обязательно создайте оператор MySQL.
Если строка находится внутри таблицы MySQL, вы не можете. MySQL не имеет eval()
или такой функции. Следующее невозможно:
Предположим, у вас есть таблица queries
с полем columnname
, которое ссылается на одно из имен столбцов в таблице mytable
. В queries
могут быть дополнительные столбцы, которые позволяют вам выбрать columnname
, который вы хотите.
INSERT INTO queries (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable
Однако вы можете работать с ПОДГОТОВЛЕННЫЕ ЗАЯВЛЕНИЯ . Имейте в виду, что это очень смешно.
SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);
PREPARE stmt FROM @s;
EXECUTE stmt;