首页 > 解决方案 > 添加一个在最终提交后递增的 ID 字段

问题描述

我以前从未这样做过,对最好的方法有点迷失。

我需要一个可以提交的表单以获取关于何时输入该项目的时间戳,这很容易,但还需要它具有与其他条目相同的文件 ID,直到所有条目都完成并关闭文件。然后,当他们为下一批添加条目时,需要增加 fileID。fileID 是一种在 sql 中跟踪与每个文件相关联的条目以用于计算目的的方法。

我想我可以有一个表单,其中包含他们提交的必填字段和一个下一步按钮。他们使用提交,直到他们完成了文件的事务,然后接下来会调出计算字段,该字段将具有提交并且将关闭文件,然后需要增加 fileID

我还没有开始这个,所以任何帮助将不胜感激。

在我想要的 sql 表中:

ID(自动递增)、文件ID(使用上面的默认值)等......

标签: sql-serverasp.net-core

解决方案


您可以通过fileID在第一次提交时检索 ,然后为所有后续提交保留它来做到这一点。

我可能会通过拥有一个可空参数为 的存储过程来做到这一点@fileID,如果参数不是 NULL,它将被插入,如果它是 NULL,则将生成一个新的 fileID。对于新fileID的检索,存储过程可以有一个新生成的输出参数fileID,或者它可以SELECT是你刚刚插入的项目(ID, fileID,也许还有一些其他有用的数据)(我可能会选择后者)。

至于生成一个新fileID的,我可能会有一个单独的“文件”对象表,它也有一个IDENTITY列。然后另一个表将有一个FOREIGN KEY引用该表的表。


推荐阅读