【发布时间】:2014-03-19 07:21:48
【问题描述】:
虽然这似乎是一个非常幼稚的问题,但我想知道如何添加具有我刚刚删除的相同 ID 的行。
让我更清楚一点:假设我有一个名为 Employee 的表。架构如下:
CREATE TABLE dbo.Employee
(EmployeeID int PRIMARY KEY,
EmployeeName varchar(255) not null,
Designation varchar(255),
Salary int);
假设我从我的应用程序中添加了具有以下值的行:
EmployeeID -> 12
EmployeeName -> 'Lewis Montford'
Designation -> 'Accounts Officer'
Salary -> 8000
现在我刚刚从我的应用程序中对此记录执行了“删除”操作。我想添加一条新记录,当然是从我的应用程序中添加,但使用相同的 ID。像这样的:
EmployeeID -> 12
EmployeeName -> 'Amanda Gresham'
Designation -> 'Senior Project Manager'
Salary -> 15000
我无法做到这一点,因为每当我尝试添加新条目时,'EmployeeID' 会自动设置为 13,而不是 12。
我想知道为什么我不能添加一个将 'EmployeeID' 设置为 12 的新条目,以及我可以通过哪些方式实现这一点。
我的数据库服务器是 SQL Server 2012,我想提一提的重要一点是“EmployeeID”是一个“Identity”,“Identity Increment”设置为 1,“Identity Seed”设置为 1,它是该表的主键,它是在我的应用程序中自动生成的。
我用来插入数据的应用程序是用 C# 编写的。
【问题讨论】:
-
那么,当您说您将应用程序中的
EmployeeID指定为 12 用于第一次插入时,您是不正确的?无论如何,如果您正确使用标识列,则不应关心它们分配的值。
标签: c# sql sql-server-2012