Se a string estiver em seu aplicativo externo (como PHP), claro, apenas construa a instrução MySQL.
Se a string estiver dentro de uma tabela MySQL, você não poderá. MySQL não tem
eval()
ou tal função. O seguinte é impossível:Suponha que você tenha uma tabela
queries
com um campo columnname
que se refere a um dos nomes de coluna na tabela mytable
. Pode haver colunas adicionais em queries
que permitem que você selecione o columnname
você quer. INSERT INTO queries (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable
No entanto, você pode trabalhar com DECLARAÇÕES PREPARADAS . Esteja ciente de que isso é muito hacky.
SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);
PREPARE stmt FROM @s;
EXECUTE stmt;