文字列が外部アプリケーション(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;