You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建限制INT值1-5的表列?已尝试代码未生效

解决INT列取值范围限制的问题

你原来的代码里GroupYear INT FROM 1 TO 5是无效语法,SQL没有这种直接限定数值范围的写法。要实现取值1到5的限制,推荐用以下两种方法:

方法一:使用CHECK约束(通用方案)

这是大多数主流数据库(SQL Server、MySQL 8.0+、PostgreSQL等)都支持的标准写法,插入或更新数据时会自动验证数值范围:

CREATE TABLE Groups
(
    GroupID INT PRIMARY KEY NOT NULL,
    GroupName NVARCHAR(10) NOT NULL,
    GroupRating INT NOT NULL,
    GroupYear INT NOT NULL CHECK (GroupYear BETWEEN 1 AND 5)
);

方法二:使用ENUM类型(MySQL专属)

如果用的是MySQL,也可以用ENUM来限定可选值,不过注意ENUM存储的是字符串类型,若需要数值需自行转换:

CREATE TABLE Groups
(
    GroupID INT PRIMARY KEY NOT NULL,
    GroupName NVARCHAR(10) NOT NULL,
    GroupRating INT NOT NULL,
    GroupYear ENUM('1','2','3','4','5') NOT NULL
);

内容的提问来源于stack exchange,提问作者Jabi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 02:25:24