Mysql
 sql >> Base de données >  >> RDS >> Mysql

nom du champ mysql de la variable

Si la chaîne se trouve dans votre application externe (comme PHP), bien sûr, construisez simplement l'instruction MySQL.

Si la chaîne se trouve dans une table MySQL, vous ne pouvez pas. MySQL n'a pas de eval() ou telle fonction. Ce qui suit est impossible :

Supposons que vous ayez une table queries avec un champ columnname qui fait référence à l'un des noms de colonne de la table mytable . Il peut y avoir des colonnes supplémentaires dans les queries qui vous permettent de sélectionner le columnname vous voulez.

INSERT INTO queries  (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable

Vous pouvez cependant travailler avec PREPARED STATEMENTS . Soyez conscient que c'est très piraté.

SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);

PREPARE stmt FROM @s;
EXECUTE stmt;