Could not create IDENTITY attribute on nullable column '%.*ls', table '%.*ls'.

Error Message:
Msg 8147, Level 16, State 1, Line 1
Could not create IDENTITY attribute on nullable column ‘%.*ls’, table ‘%.*ls’.

Severity level:
16.

Description:
This error message appears when you try to create the IDENTITY property on a numerical column that allowd NULLs.

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

Resolution:
Errors of the Severity Level 16 are generated by the user and can be fixed by the SQL Server user. The statement cannot be executed this way. The IDENTITY property can only be created on NOT NULL constrained numerical columns.

Versions:
All versions of SQL Server.

Example(s):
USE tempdb;
GO
IF OBJECT_ID(‘tempdb..#t’) > 0
 DROP TABLE #t
GO
CREATE TABLE #t
(
 id INT NULL IDENTITY
)
GO

Remarks:
In the above example we try to create the IDENTITY property on the column id of the table #t. Because this columns allows NULLs, the error is raised.

]]>

Leave a comment

Your email address will not be published.