Cannot insert explicit value for identity column in table ‘table’ when IDENTITY_INSERT is set to OFF.
-
Posted on January 10, 2010 by Derek Dieter
-
3
This error occurs when trying to insert into a column containing an identity. An Identity column is not able to be inserted into without the use of a special command mentioned below. Identity columns are columns that automatically increment when a value is inserted into a row. They are commonly used as primary keys because they guarantee uniqueness.
In order to insert into a table containing an identity column
SET IDENTITY INSERT ‘tablename’ ON
The following example illustrates the error and shows how to successfully insert.
[cc lang=”sql”]
— Create MyNames Table with Identity Column
CREATE TABLE dbo.MyNames
(
ID int IDENTITY(1,1) NOT NULL PRIMARY KEY,
FName varchar(50) NULL
)
INSERT INTO dbo.MyNames
(
FName
)
SELECT ‘Abe’
UNION
SELECT ‘Henry’
UNION
SELECT ‘Phil’
— Create YourNames Table with Identity Column
CREATE TABLE dbo.YourNames
(
ID int IDENTITY(4,1) NOT NULL PRIMARY KEY, –Start Incrementing at 4
FName varchar(50) NULL
)
INSERT INTO dbo.YourNames
(
FName
)
SELECT ‘Bill’
UNION
SELECT ‘Candy’
UNION
SELECT ‘Sara’
— Attempt to Insert MyNames Identity Into YourNames
INSERT INTO dbo.YourNames
(
ID,
FName
)
SELECT
ID,
Fname
FROM dbo.MyNames
— we get the error message:
Cannot insert explicit value for identity column in table ‘YourNames’ when IDENTITY_INSERT is set to OFF.
— Attempt to Insert after turning on IDENTITY_INSERT ON
SET IDENTITY_INSERT dbo.YourNames ON
INSERT INTO dbo.YourNames
(
ID,
FName
)
SELECT
ID,
Fname
FROM dbo.MyNames
SET IDENTITY_INSERT dbo.YourNames OFF
[/cc]
- Comments (RSS)
- Trackback
- Permalink
Firefox 3.0.14 Windows XPI have realized that car insunarce businesses know the vehicles which are prone to accidents as well as other risks. Additionally , they know what types of cars are inclined to higher risk along with the higher risk they’ve the higher the premium charge. Understanding the straightforward basics of car insunarce just might help you choose the right types of insunarce policy that could take care of your needs in case you get involved in an accident. Thank you for sharing the particular ideas on the blog.
what if each table had an additional Column called ‘junk;
what I would like to do is duplicate the primary key in one table using ‘junk’ as having a different value.
is it possible to duplicate the primary key using a method like this?
hi
Firefox 3.5.3 Windows 7Thank you to the blog post. Velupe and I are actually saivng for a new publication on this issue as well as your writing features made you to save all of our money. Your opinions really fixed all the concerns. In simple fact, in way over what there was acknowledged ahead of we came across your amazing blog. I actually don’t have doubts in addition to a troubled mind since you have dealth with the needs in this post. Thanks