Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在没有自动递增的情况下使两列的主键安全?_Sql Server_Primary Key_Auto Increment_Identity - Fatal编程技术网

Sql server 如何在没有自动递增的情况下使两列的主键安全?

Sql server 如何在没有自动递增的情况下使两列的主键安全?,sql-server,primary-key,auto-increment,identity,Sql Server,Primary Key,Auto Increment,Identity,我有一个名为[Purpose]的表和另一个名为[PurposeMoviment]的表 每次编辑目的时(值​​, 产品、服务、截止日期等),将生成目的活动 我是否可以使用带有2个pk列(Purpose\u ID,PurposeMoviment\u ID)的PurposeMoviment,其中PurposeMoviment是由我的系统手动创建的 当我说手动创建时,是一个简单的GetLastPurposeMoviment+1。 安全吗 我这么问是因为我想展示电影的实际数量,比如1,2,3。。。使用id

我有一个名为
[Purpose]
的表和另一个名为
[PurposeMoviment]
的表

每次编辑目的时
(值​​, 产品、服务、截止日期等)
,将生成目的活动

我是否可以使用带有2个pk列(
Purpose\u ID,PurposeMoviment\u ID
)的PurposeMoviment,其中PurposeMoviment是由我的系统手动创建的

当我说手动创建时,是一个简单的GetLastPurposeMoviment+1。 安全吗

我这么问是因为我想展示电影的实际数量,比如1,2,3。。。使用identity,电影编号将为1。。。4.193.

我错在哪里

谢谢

编辑

我是大环境的新手,担心很多人同时按下按钮插入目标,导致手动增量失败

我正在使用MVC5、实体框架6和存储库模式


多谢各位

如果您希望增量以另一个值(基本上是序列号)为条件,那么您必须自己控制该逻辑。身份将计数,无论组加上可以为您提供的序列孔。因此,在插入或使用特定的触发逻辑之前,您需要自己计算它。我对大环境是新手,所以我担心有两个或更多的人按下插入按钮,我的简单控件(getlast+1)失败或其他什么。你有什么建议吗?我正在网站中使用RepositoryPattern(mvc5+实体框架6)。我也在努力避免触发。感谢如果可能,只需保留identity列,然后在
从该表中选择
时,只需使用
行号()作为PurposeMoviment\u ID
,以生成连续的、没有间隙的值。