每条记录在SQL Server中都有唯一的字段吗?

Vel*_*lla 1 vb.net sql-server unique uniqueidentifier

我在Visual Studio中工作 - VB.NET.

我的问题是我想要删除SQL Server中的特定行,但我唯一的唯一列是自动递增的标识.

我的工作流程:
1.我在列中添加一行(标识正在递增,但我不知道数字)
2.我想删除上一行

每个新记录都有一种唯一的ID吗?我的表可能有2个完全相同的记录,只是序列(标识)不同.

任何想法如何处理这个问题?

SWe*_*eko 6

SQL Server 有一些函数可以返回最后一行的生成ID,每个行都有自己特定的优点和缺点.

基本上:

  • @@IDENTITY 如果您不使用触发器,则有效
  • SCOPE_IDENTITY() 适用于您明确调用的代码.
  • IDENT_CURRENT(‘tablename’) 适用于所有范围内的特定表.

在几乎所有场景中SCOPE_IDENTITY()都是你需要的,并且使用它是一个好习惯,与其他选项相反.这里
也提供关于这些方法的利弊的良好讨论.