Wenn sich die Zeichenfolge in Ihrer externen Anwendung (wie PHP) befindet, erstellen Sie einfach die MySQL-Anweisung.
Wenn sich die Zeichenfolge in einer MySQL-Tabelle befindet, ist dies nicht möglich. MySQL hat kein eval()
oder eine solche Funktion. Folgendes ist nicht möglich:
Angenommen, Sie haben eine Tabelle queries
mit einem Feld columnname
die sich auf einen der Spaltennamen in der Tabelle mytable
bezieht . Es können zusätzliche Spalten in queries
vorhanden sein mit denen Sie den columnname
auswählen können du willst.
INSERT INTO queries (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable
Sie können jedoch mit PREPARED STATEMENTS . Beachten Sie, dass dies sehr hacky ist.
SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);
PREPARE stmt FROM @s;
EXECUTE stmt;