首頁 > 資料庫 > mysql教程 > 如何在MySQL中根據外鍵產生序列列?

如何在MySQL中根據外鍵產生序列列?

Patricia Arquette
發布: 2024-11-28 11:47:11
原創
723 人瀏覽過

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

MySQL:根據外鍵產生序列列

在舊資料庫中,新增一個序列列,記錄每個外鍵的數字順序key 可以增強資料檢索和組織。假設您有下表:

ID ACCOUNT some_other_stuff
1 1 ...
2 1 ...
3 1 ...
4 2 ...
5 2 ...
6 1 ...

目標是建立一個為每個 ACCOUNT 單獨遞增的 SEQ 欄位。這將產生下表:

ID ACCOUNT SEQ some_other_stuff
1 1 1 ...
2 1 2 ...
3 1 3 ...
4 2 1 ...
5 2 2 ...
6 1 4 ...

要實現此目的,您可以使用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;
登入後複製

此觸發器可確保插入mytable 表中的每個新行都會得到基於相關帳戶的唯一序號。

以上是如何在MySQL中根據外鍵產生序列列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板