Cannot bind a default to an identity column.

Error Message:
Msg 15102, Level 16, State 1, Procedure sp_bindefault, Line 166
Cannot bind a default to an identity column.

Severity level:
16.

Description:
This error message appears, when you try bind a default that you’ve create with a CREATE DEFAULT command to a column with the identity property.

Consequences:
The T-SQL statement can be parsed, but causes the error at runtime.

Resolution:
Error of the Severity Level 16 are generated by the user and can be fixed by the SQL Server user. The statement can not be executed this way. You can not bind a default to such a column

Versions:
All versions of SQL Server

Example(s):
USE tempdb;
GO
IF OBJECT_ID(‘tempdb..#t’) > 0
 DROP TABLE #t
GO
IF OBJECT_ID(‘MyDefault’) > 0
 DROP DEFAULT MyDefault;
GO
CREATE TABLE #t
(
 c1 INT IDENTITY NOT NULL
)
GO
CREATE DEFAULT MyDefault AS 42;
Go
EXEC sp_bindefault ‘MyDefault’, ‘#t.c1’

Remarks:
In the above example we try to bind the default MyDefault to the column c1. Because this column is a column with the identity property, the error is raised.

]]>

Leave a comment

Your email address will not be published.