Maison >base de données >tutoriel mysql >Comment générer une colonne séquentielle basée sur une clé étrangère dans MySQL ?

Comment générer une colonne séquentielle basée sur une clé étrangère dans MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-18 20:17:02587parcourir

How to Generate a Sequential Column Based on a Foreign Key in MySQL?

Ajout d'une colonne de séquence basée sur une clé étrangère

Pour obtenir une colonne séquentielle basée sur une clé étrangère dans MySQL, vous pouvez utiliser ce qui suit Approche SQL :

Créer un déclencheur avant de l'insérer dans la table :

CREATE TRIGGER trg_mytable_bi
BEFORE INSERT ON mytable
FOR EACH ROW
BEGIN
      DECLARE nseq INT;

Récupérer le numéro de séquence maximum existant pour la clé étrangère correspondante :

      SELECT  COALESCE(MAX(seq), 0) + 1
      INTO    nseq
      FROM    mytable
      WHERE   account = NEW.account;

Attribuer le numéro de séquence calculé à la nouvelle ligne :

      SET NEW.seq = nseq;
END;

En utilisant ce déclencheur, chaque ligne nouvellement insérée se verra attribuer un numéro de séquence qui s'incrémente pour la clé étrangère spécifiée, comme illustré dans l'exemple fourni.

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!

Déclaration:
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