Als de string in je externe applicatie staat (zoals PHP), maak dan gewoon het MySQL-statement.
Als de tekenreeks zich in een MySQL-tabel bevindt, kunt u dat niet. MySQL heeft geen eval()
of een dergelijke functie. Het volgende is onmogelijk:
Stel dat u een tabel queries
. heeft met een veld columnname
die verwijst naar een van de kolomnamen in de tabel mytable
. Er kunnen extra kolommen zijn in queries
waarmee u de columnname
. kunt selecteren je wilt.
INSERT INTO queries (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable
U kunt echter werken met VOORBEREIDDE VERKLARINGEN . Houd er rekening mee dat dit erg hacky is.
SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);
PREPARE stmt FROM @s;
EXECUTE stmt;