文字列が外部アプリケーション(PHPなど)にある場合は、MySQLステートメントを作成するだけです。
文字列がMySQLテーブル内にある場合、それはできません。 MySQLにはeval()がありません またはそのような機能。次のことは不可能です:
テーブルのqueriesがあるとします。 フィールドcolumnname これは、テーブルmytableの列名の1つを参照します 。 queriesに追加の列がある可能性があります columnnameを選択できます あなたが欲しい。
INSERT INTO queries (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable
ただし、プリペアドステートメントを使用することはできます。 a> 。これは非常にハッキーであることに注意してください。
SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);
PREPARE stmt FROM @s;
EXECUTE stmt;