在新行中添加max(value)+1,这可能是个问题吗?
技术问答
281 人阅读
|
0 人回复
|
2023-09-12
|
在SQL Server在表中,我有以下两列:4 x( B7 P- D$ \
RowId :主键、数字、标识列和自动插入。* y! X& X! |; M" K/ w
MailId :非密钥、数字、非身份和非自动插入。
* \; v) f% }9 R$ h邮件ID可以重复。如果使用新的。MailId,我将检查max(MailId) 1并将其插入新行,如有重复值,则将其作为参数。
9 H# c$ v4 V/ A( M逻辑看起来不错,但这是个问题。我只是在考虑(但是精度很低),可以有两个不同的新的MailId请求。这会导致逻辑错误吗?例如,当代码检查时max(MailId) 1为101时,我将其存储在变量中,但在下一个插入句执行插入表中的新记录之前。现在在表中max(MailId) 1为102,变量值为101?
, _% g H) i0 w# C任何建议,我也想控制此错误机会。6 u5 g* c6 N5 {$ S6 m0 ~
编辑: H e, y t! z, T
(我没用identity(1,1)因为我必须在其中传递自定义值)
# V- z; |0 d' W& K, ~ 0 {& Q' J) ]0 G
解决方案: |
|
|
|
|
|