首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列值自动递增依赖于另一个列值实体框架核心

列值自动递增依赖于另一个列值实体框架核心
EN

Stack Overflow用户
提问于 2016-08-13 07:15:18
回答 1查看 181关注 0票数 0

我想要多一个列,它将根据另一个列值自动递增:

代码语言:javascript
复制
ID    |   UserID   |  IDForUser
 1    |     4      |     1
 2    |     10     |     1
 3    |     4      |     2
 4    |     4      |     3
 5    |     10     |     2
 6    |     9      |     1
 7    |     9      |     2

这有可能吗?

EN

回答 1

Stack Overflow用户

发布于 2016-08-13 13:50:52

built-in autoincrementing algorithm不是这样工作的。

要计算下一个IDForUser值,请搜索具有相同UserID (或零)的最大现有值,然后添加1。如果不希望在代码中执行此操作,则必须使用trigger

代码语言:javascript
复制
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;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38927629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档