如何限制 MySQL 内的 INT?
How can I limit INT in MySQL?
我正在使用 Java 创建一个大学评分系统。我在课程 table 中有一个学分编号列。我希望将此信用号限制在 1 到 8 之间。我不想输入任何其他数字。我是初学者。
CREATE TABLE courses(
id INT PRIMARY KEY,
course_name VARCHAR(50) NOT NULL,
credit_number BETWEEN 1 AND 8 NOT NULL,
course_description VARCHAR(255));
已接受的答案略有不同 -
您也可以使用 TINYINT 而不是 INT,这会将可能的范围限制为 -128 到 127(一个字节),这没关系,因为您只需要 1-8:
https://dev.mysql.com/doc/refman/5.7/en/integer-types.html
CREATE TABLE courses (
id INT PRIMARY KEY,
course_name VARCHAR(50) NOT NULL,
credit_number TINYINT NOT NULL,
course_description VARCHAR(255),
CONSTRAINT chk_courses_credit_number CHECK (credit_number BETWEEN 1 AND 8)
);
使用check
约束:
CREATE TABLE courses (
id INT PRIMARY KEY,
course_name VARCHAR(50) NOT NULL,
credit_number int NOT NULL,
course_description VARCHAR(255),
CONSTRAINT chk_courses_credit_number CHECK (credit_number BETWEEN 1 AND 8)
);
我正在使用 Java 创建一个大学评分系统。我在课程 table 中有一个学分编号列。我希望将此信用号限制在 1 到 8 之间。我不想输入任何其他数字。我是初学者。
CREATE TABLE courses(
id INT PRIMARY KEY,
course_name VARCHAR(50) NOT NULL,
credit_number BETWEEN 1 AND 8 NOT NULL,
course_description VARCHAR(255));
已接受的答案略有不同 -
您也可以使用 TINYINT 而不是 INT,这会将可能的范围限制为 -128 到 127(一个字节),这没关系,因为您只需要 1-8: https://dev.mysql.com/doc/refman/5.7/en/integer-types.html
CREATE TABLE courses (
id INT PRIMARY KEY,
course_name VARCHAR(50) NOT NULL,
credit_number TINYINT NOT NULL,
course_description VARCHAR(255),
CONSTRAINT chk_courses_credit_number CHECK (credit_number BETWEEN 1 AND 8)
);
使用check
约束:
CREATE TABLE courses (
id INT PRIMARY KEY,
course_name VARCHAR(50) NOT NULL,
credit_number int NOT NULL,
course_description VARCHAR(255),
CONSTRAINT chk_courses_credit_number CHECK (credit_number BETWEEN 1 AND 8)
);