Heim >Datenbank >MySQL-Tutorial >Wie kann ich eine Spalte automatisch basierend auf einer anderen Spalte in MySQL berechnen?
Eine Spalte automatisch basierend auf einer anderen Spalte in MySQL berechnen
In der Welt der Datenbankprogrammierung sind Tabellen der Grundstein der Datenspeicherung, aber manchmal ist es notwendig, zusätzliche Informationen aus vorhandenen Spalten abzuleiten. Hier kommen berechnete Spalten ins Spiel, die eine Möglichkeit bieten, neue Spalten zu erstellen, deren Werte basierend auf einer anderen Spalte automatisch aktualisiert werden.
Datenbankeinstellungen
Betrachten Sie das folgende Formular:
<code>id | value -------------- 1 6 2 70</code>
Problembeschreibung
Die Aufgabe besteht darin, eine Spalte namens „berechnet“ hinzuzufügen, die die Hälfte der Spalte „Wert“ darstellt. Diese berechnete Spalte sollte automatisch aktualisiert werden, wenn sich die Spalte „Wert“ ändert.
Lösung: Spalten generieren
MySQL 5.7.6 und höher führt eine Funktion namens „generierte Spalten“ ein. Diese Spalten ermöglichen dynamische Berechnungen basierend auf vorhandenen Spalten, ähnlich wie Ansichten, jedoch als integraler Bestandteil der Tabelle.
Es gibt zwei Arten von generierten Spalten:
Leistung
In diesem Beispiel verwenden wir eine gespeicherte generierte Spalte. Hier ist die SQL-Anweisung zum Hinzufügen:
<code>ALTER TABLE table_name ADD COLUMN calculated AS (value / 2) STORED;</code>
Dadurch wird eine neue Spalte namens „berechnet“ mit dem halben Wert der Spalte „Wert“ jeder Zeile erstellt.
Vorteile und Hinweise
Das Generieren von Spalten hat folgende Vorteile:
Beispiel
Nach dem Hinzufügen der berechneten Spalte sieht die Tabelle folgendermaßen aus:
<code>id | value | calculated ----------------------- 1 6 3 2 70 35</code>
Fazit
Generierte Spalten bieten eine leistungsstarke Möglichkeit, berechnete Spalten zu einer Tabelle hinzuzufügen. Durch die Nutzung der „gespeicherten“ Option wird sichergestellt, dass berechnete Spalten automatisch aktualisiert werden und indiziert werden können, was für mehr Flexibilität und Effizienz bei der Datenverwaltung sorgt.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Spalte automatisch basierend auf einer anderen Spalte in MySQL berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!