Verketten von MySQL-Spalten zur Generierung eindeutiger Zahlen
Bei der Arbeit mit MySQL-Tabellen kann es erforderlich sein, eindeutige Zahlen zu generieren, die Daten aus mehreren kombinieren Spalten. In einem Szenario, in dem eine Tabelle zwei Spalten mit den Namen SUBJECT und YEAR enthält, besteht das Ziel darin, eine alphanumerische eindeutige Zahl zu erstellen, die die Werte beider Felder enthält.
Ein Ansatz, dies zu erreichen, ist die CONCAT-Funktion, wie gezeigt im folgenden Code:
SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`
Diese Abfrage würde die Werte der Spalten SUBJECT und YEAR verketten, getrennt durch ein Leerzeichen. Um eine eindeutige Nummer zu erstellen, ist jedoch eine kompliziertere Methode erforderlich.
Eine alternative Lösung besteht darin, eine Kombination aus LPAD und einer Variablen zu verwenden, um ein eindeutiges Suffix zu generieren. Die aktualisierte Abfrage lautet wie folgt:
SET @rn := 0; SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0')) FROM `table`
Diese Abfrage initialisiert zunächst eine Variable mit dem Namen @rn auf 0. Anschließend werden die Werte von SUBJECT und YEAR verkettet und ein Bindestrich als Trennzeichen hinzugefügt. Schließlich nutzt es die LPAD-Funktion, um den inkrementierten Wert von @rn links mit Nullen aufzufüllen, um eine konsistente Länge von drei Zeichen zu erreichen.
Durch die Implementierung dieses Ansatzes kann für jede Zeile in eine eindeutige alphanumerische Zahl generiert werden die MySQL-Tabelle, die die Daten aus den Spalten SUBJECT und YEAR kombiniert.
Das obige ist der detaillierte Inhalt vonWie generiert man eindeutige alphanumerische Zahlen durch Verketten von MySQL-Spalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!