Maison >base de données >tutoriel mysql >Comment puis-je calculer automatiquement une colonne basée sur une autre colonne dans MySQL ?
Calculer automatiquement une colonne en fonction d'une autre colonne dans MySQL
Dans le monde de la programmation de bases de données, les tables sont la pierre angulaire du stockage des données, mais il est parfois nécessaire de dériver des informations supplémentaires à partir des colonnes existantes. C'est là qu'interviennent les colonnes calculées, offrant un moyen de créer de nouvelles colonnes dont les valeurs sont automatiquement mises à jour en fonction d'une autre colonne.
Paramètres de la base de données
Considérez la forme suivante :
<code>id | value -------------- 1 6 2 70</code>
Énoncé du problème
La tâche consiste à ajouter une colonne appelée « calculé » qui correspond à la moitié de la colonne « valeur ». Cette colonne calculée doit être automatiquement mise à jour lorsque la colonne « valeur » change.
Solution : Générer des colonnes
MySQL 5.7.6 et versions ultérieures introduisent une fonctionnalité appelée « colonnes générées ». Ces colonnes permettent des calculs dynamiques basés sur des colonnes existantes, similaires aux vues, mais faisant partie intégrante du tableau.
Il existe deux types de colonnes générées :
Réussite
Dans cet exemple, nous utiliserons une colonne générée stockée. Voici l'instruction SQL pour l'ajouter :
<code>ALTER TABLE table_name ADD COLUMN calculated AS (value / 2) STORED;</code>
Cela créera une nouvelle colonne appelée « calculé » avec la moitié de la valeur de la colonne « valeur » de chaque ligne.
Avantages et remarques
La génération de colonnes présente les avantages suivants :
Exemple
Après avoir ajouté la colonne calculée, le tableau ressemblera à ceci :
<code>id | value | calculated ----------------------- 1 6 3 2 70 35</code>
Conclusion
Les colonnes générées constituent un moyen puissant d'ajouter des colonnes calculées à un tableau. En tirant parti de l'option « stockée », il garantit que les colonnes calculées sont automatiquement mises à jour et peuvent être indexées, offrant ainsi une plus grande flexibilité et efficacité dans la gestion des données.
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!