Cannot create two constraints named '%.*ls'. Duplicate constraint names are not allowed.

Error Message:
Msg 8168, Level 16, State 0, Line 1
Cannot create two constraints named ‘%.*ls’. Duplicate constraint names are not allowed.

Severity level:
16.

Description:
This error message appears when you try to create a table and use a constraint name more than once.

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. Constraint names must be unique.

Versions:
All versions of SQL Server.

Example(s):
USE tempdb;
IF OBJECT_ID(‘tempdb.#t’) > 0
 DROP TABLE #t
GO
CREATE TABLE #t
(
 c1 INT
 CONSTRAINT chk_1 CHECK(c1<10),
 c2 INT
 CONSTRAINT chk_1 CHECK(c2>c1)
)
GO

Remarks:
In the above example we try to create the table #t with two constraints named chk_1. This raises the error.

]]>

Leave a comment

Your email address will not be published.