Om strängen finns i din externa applikation (som PHP), säker, konstruera bara MySQL-satsen.
Om strängen finns inuti en MySQL-tabell kan du inte. MySQL har ingen eval()
eller en sådan funktion. Följande är omöjligt:
Anta att du har en tabell queries
med ett fält columnname
som hänvisar till ett av kolumnnamnen i tabellen mytable
. Det kan finnas ytterligare kolumner i queries
som låter dig välja columnname
du vill.
INSERT INTO queries (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable
Du kan dock arbeta med FÖRBÄTTDA UTTALANDEN a> . Var medveten om att detta är väldigt hackigt.
SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);
PREPARE stmt FROM @s;
EXECUTE stmt;