Se la stringa è nella tua applicazione esterna (come PHP), certo, costruisci semplicemente l'istruzione MySQL.
Se la stringa è all'interno di una tabella MySQL, non è possibile. MySQL non ha eval()
o tale funzione. Quanto segue è impossibile:
Supponiamo di avere una tabella queries
con un campo columnname
che fa riferimento a uno dei nomi di colonna nella tabella mytable
. Potrebbero esserci colonne aggiuntive in queries
che ti permettono di selezionare il columnname
vuoi.
INSERT INTO queries (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable
Puoi comunque lavorare con DICHIARAZIONI PREPARATE . Tieni presente che è molto complicato.
SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);
PREPARE stmt FROM @s;
EXECUTE stmt;