外部キーに基づいたシーケンス列の追加
MySQL で外部キーに基づいてシーケンス列を実現するには、次を使用できます。 SQL アプローチ:
テーブルに挿入する前にトリガーを作成します:
CREATE TRIGGER trg_mytable_bi BEFORE INSERT ON mytable FOR EACH ROW BEGIN DECLARE nseq INT;
対応する外部キーの既存の最大シーケンス番号を取得します:
SELECT COALESCE(MAX(seq), 0) + 1 INTO nseq FROM mytable WHERE account = NEW.account;
計算されたシーケンス番号を新しい行に追加します:
SET NEW.seq = nseq; END;
このトリガーを利用すると、新しく挿入された各行に、指定された外部キーごとに増加するシーケンス番号が割り当てられます。
以上がMySQL で外部キーに基づいてシーケンシャル列を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。