Constraints of type %ls cannot be created on columns of type %ls.

Error Message:
Msg 1760, Level 16, State 0, Line 1
Constraints of type %ls cannot be created on columns of type %ls.

Severity level:
16.

Description:
This error message appears when you try to create a CHECK constraint for a set of columns with at least one invalid data type for that type of constraint.

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 cannot be executed this way. The data types must be valid data type for that type of constraint.

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,
 c1 TEXT
 CONSTRAINT chk_not_working CHECK(DATALENGTH(c1)>10)
)
GO

Remarks:
In the above example we try to create a CHECK constraint for a column of the data type TEXT. This raises the error.

]]>

Leave a comment

Your email address will not be published.