Est-il possible de sélectionner un champ avec un nom de chaîne ?
Sélectionnez "Nom du champ" dans从表
J'ai besoin de ce déclencheur pour avoir des noms de champs dynamiques Quelque chose de similaire
SET fieldname = NEW.`name`; UPDATE table SET fieldname = 1 ;
Comme ces réponses correctes le suggèrent, vous pouvez également le faire dans une procédure stockée, ce qui fonctionne très bien pour moi dans la communauté MySQL 8x :
Si la chaîne se trouve dans votre application externe (telle que PHP), bien sûr, construisez simplement l'instruction MySQL.
Pas si la chaîne se trouve dans une table MySQL. MySQL n'a pas eval() ou de telles fonctions. Ce qui suit est impossible :
Supposons que vous ayez une table
queries
,其中的字段columnname
引用表mytable
中的列名称之一。查询
中可能有其他列,允许您选择所需的列名
.Cependant, vous pouvez utiliser des déclarations préparées Notez que c'est très hacky.