Sql 如何将数据库列中的可接受值限制为1到5?

Sql 如何将数据库列中的可接受值限制为1到5?,sql,sql-server,sql-server-2005,tsql,Sql,Sql Server,Sql Server 2005,Tsql,我在数据库中有一个表,其中一列的值应该是1到5。如何将此限制写入数据库?我是否使用约束?关于这类事情的最佳实践是什么 我使用的是SQL Server 2005您需要向表中添加约束,最好是命名约束: ALTER TABLE YourSchema.YourTable ADD CONSTRAINT CHK_YourTable_YourColumn_ValidLimits CHECK(YourColumn BETWEEN 1 AND 5) 在CREATETABLE语句中,执行以下操作: CREATE

我在数据库中有一个表,其中一列的值应该是1到5。如何将此限制写入数据库?我是否使用约束?关于这类事情的最佳实践是什么


我使用的是SQL Server 2005

您需要向表中添加约束,最好是命名约束:

ALTER TABLE YourSchema.YourTable ADD CONSTRAINT CHK_YourTable_YourColumn_ValidLimits
CHECK(YourColumn BETWEEN 1 AND 5)
在CREATETABLE语句中,执行以下操作:

CREATE TABLE YourSchema.YourTable(YourColumn INT NOT NULL CONSTRAINT CHK_YourTable_YourColumn_ValidLimits
CHECK(YourColumn BETWEEN 1 AND 5),
SomeOtherColumns VARCHAR(10)
);

最佳做法是显式命名约束。

如果您想在表创建过程中添加此约束,可以按如下操作

create table MyTable
    (MyColumn tinyint CONSTRAINT MyColumn_CheckLimit CHECK (MyColumn BETWEEN 1 AND 5))

我将其编码为:MyColumn>=1和MyColumn@KM:如果随后使用SSMS编写CK out脚本,则无论如何都应将中间值更改为此值。它也会改变到或太多。