Hinzufügen einer Sequenzspalte basierend auf einem Fremdschlüssel
Um eine sequentielle Spalte basierend auf einem Fremdschlüssel in MySQL zu erstellen, können Sie Folgendes verwenden SQL-Ansatz:
Erstellen Sie vor dem Einfügen in die Tabelle einen Trigger:
CREATE TRIGGER trg_mytable_bi BEFORE INSERT ON mytable FOR EACH ROW BEGIN DECLARE nseq INT;
Rufen Sie die maximal vorhandene Sequenznummer für den entsprechenden Fremdschlüssel ab:
SELECT COALESCE(MAX(seq), 0) + 1 INTO nseq FROM mytable WHERE account = NEW.account;
Weisen Sie den zu berechnete Sequenznummer für die neue Zeile:
SET NEW.seq = nseq; END;
Durch die Verwendung dieses Triggers wird jeder neu eingefügten Zeile eine Sequenznummer zugewiesen, die für den angegebenen Fremdschlüssel inkrementiert wird, wie im bereitgestellten Beispiel dargestellt.
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine sequentielle Spalte basierend auf einem Fremdschlüssel in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!