[英]Entity Framework Core: default value when migrating nullable column to required
[英]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.