Maison > base de données > tutoriel mysql > Comment puis-je sélectionner et mettre à jour dynamiquement des champs MySQL à l'aide de variables ?

Comment puis-je sélectionner et mettre à jour dynamiquement des champs MySQL à l'aide de variables ?

Linda Hamilton
Libérer: 2024-11-23 11:02:34
original
211 Les gens l'ont consulté

How Can I Dynamically Select and Update MySQL Fields Using Variables?

Sélection dynamique de champs dans MySQL basée sur une variable

Il est souvent nécessaire dans la programmation de bases de données de sélectionner dynamiquement des champs en fonction de valeurs variables. Cela peut être particulièrement utile dans les scénarios où les noms de champs sont inconnus ou varient de manière dynamique.

Sélection de champ à l'aide d'une variable de chaîne

Question : Est-ce possible de sélectionner un champ dont le nom est stocké dans une variable chaîne dans MySQL ?

SELECT 'fieldname' FROM table;
Copier après la connexion

Réponse : Oui, il est possible de construire l'instruction MySQL de manière dynamique en utilisant la variable chaîne :

SET @fieldname = 'name';
SELECT @fieldname FROM table;
Copier après la connexion

Mises à jour dynamiques à l'aide Variables de champ

Question :Comment puis-je effectuer des mises à jour sur une table utilisant une variable qui représente le nom du champ dans MySQL ?

SET fieldname = NEW.`name`;
UPDATE table SET fieldname = 1;
Copier après la connexion

Réponse : Il n'est pas possible d'utiliser directement une chaîne arbitraire comme nom de champ dans MySQL. Cependant, vous pouvez utiliser une solution de contournement en utilisant la fonctionnalité PREPARED SHATEMENTS de MySQL :

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

PREPARE stmt FROM @s;
EXECUTE stmt;
Copier après la connexion

Cela vous permet de créer une instruction préparée avec un nom de champ dynamique basé sur la valeur stockée dans la variable @colname.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal