簡體   English   中英

列值自動遞增,取決於另一個列值Entity Framework Core

[英]Column value autoincrement depending on another column value Entity Framework Core

我想再增加一列,該列將根據另一列的值自動遞增:

ID    |   UserID   |  IDForUser
 1    |     4      |     1
 2    |     10     |     1
 3    |     4      |     2
 4    |     4      |     3
 5    |     10     |     2
 6    |     9      |     1
 7    |     9      |     2

那可能嗎?

內置的自動遞增算法無法像這樣工作。

要計算下一個IDForUser值,請搜索具有相同UserID (或零)的最大現有值,然后添加一個。 如果您不想在代碼中執行此操作,則必須使用觸發器

CREATE TRIGGER xxx
AFTER INSERT ON MyTable
FOR EACH ROW
WHEN NEW.IDForUser IS NULL
BEGIN
    UPDATE MyTable
    SET IDForUser = IFNULL((SELECT MAX(IDForUser)
                            FROM MyTable
                            WHERE UserID = NEW.UserID), 0) + 1
    WHERE ID = NEW.ID;
END;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM