如何将一条记录插入带有IDENTITY列的表中

时间:2016-12-12 01:33:26

标签: sql-server vb.net

是否可以在表格的一列中只插入一条记录?

我有一个表EMP_MASTERTBL,其中包含

MASTERID | USERID | EMPNO | LASTNAME | FIRSTNAME | REGION | COUNTRY | ENTITY | LOCATION | JOBTITLE

我需要在一个特定的员工中添加一个新职位,所以我使用了这个代码/查询

INSERT INTO EMP_MASTERTBL (MASTERID, JOBTITLE) VALUES ('7634', 'Manager')

但是我收到了此错误消息

  

无法在表中插入identity列的显式值   ' EMP_MASTERTBL'当IDENTITY_INSERT设置为OFF时。

我只需要为一个特定员工添加另一个职位。员工可以拥有多个职位。

谢谢。

4 个答案:

答案 0 :(得分:2)

在SQL Server Studio中,首先在INSERT语句之前运行此命令。您必须拥有此表的ALTER权限才能运行此权限。

SET IDENTITY_INSERT EMP_MASTERTBL ON;

答案 1 :(得分:2)

不要为MASTERID赋值,因为它会自动生成。试试这个:

INSERT INTO EMP_MASTERTBL (JOBTITLE) VALUES ('Manager')

答案 2 :(得分:0)

特别是当您将列定义为非null时,可能无法实现。添加标题的最佳方法是使用如下更新语句:UPDATE EMP_MASTERTBL SET JOBTILE =' Manager'在哪里USERID =' EMPLOYEE' S_USERID&#39 ;; 注意:如果userid是一个整数,请避免使用userid上的引号。

答案 3 :(得分:0)

SET IDENTITY_INSERT EMP_MASTERTBL ON;
GO
INSERT INTO EMP_MASTERTBL (MASTERID, JOBTITLE) VALUES ('7634', 'Manager')
GO
SET IDENTITY_INSERT EMP_MASTERTBL OFF;