Si la cadena está en su aplicación externa (como PHP), claro, solo construya la declaración de MySQL.
Si la cadena está dentro de una tabla MySQL, no puede. MySQL no tiene eval()
o tal función. Lo siguiente es imposible:
Suponga que tiene una tabla queries
con un campo columnname
que se refiere a uno de los nombres de columna en la tabla mytable
. Puede haber columnas adicionales en queries
que le permiten seleccionar el columnname
quieres.
INSERT INTO queries (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable
Sin embargo, puede trabajar con DECLARACIONES PREPARADAS . Tenga en cuenta que esto es muy hacky.
SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);
PREPARE stmt FROM @s;
EXECUTE stmt;