Mysql 如何预定义列值?

Mysql 如何预定义列值?,mysql,sql,Mysql,Sql,是否有方法预定义要插入表中的值?我的意思是,例如,我有这个表的结构 column1 | column2 | column3 | | | | | | 我知道我的第3列应该只包含一些值,例如YES,NO,以及MAYBE 有没有一种方法可以在sql级别定义它,或者唯一的方法就是通过编程来定义它 更准确地说,如果我插入的值不在预定义的范围内,我正在寻找会引发数据库级异常的东西 另外,我正在使用MySql数据

是否有方法预定义要插入表中的值?我的意思是,例如,我有这个表的结构

column1 | column2 | column3
        |         |
        |         |
        |         |
我知道我的第3列应该只包含一些值,例如
YES
NO
,以及
MAYBE

有没有一种方法可以在sql级别定义它,或者唯一的方法就是通过编程来定义它

更准确地说,如果我插入的值不在预定义的范围内,我正在寻找会引发数据库级异常的东西


另外,我正在使用MySql数据库

为什么不创建另一个表,在其中定义是、否、可能并使用外键引用它?

为什么不创建另一个表,在其中定义是、否、可能并使用外键引用它?

使用枚举为列设置特定值:

CREATE TABLE sizes (
    name ENUM('small', 'medium', 'large')
);

使用枚举设置列的特定值:

CREATE TABLE sizes (
    name ENUM('small', 'medium', 'large')
);

你用的是什么SQL数据库?我用的是MySql数据库你查过了吗?可能是重复的?两者都很有用,解决了我的问题,谢谢!你用的是什么SQL数据库?我用的是MySql数据库你查过了吗?可能是重复的?两者都很有用,解决了我的问题,谢谢!这并不能确保用户将插入一些自定义值,是吗?如果您不向用户授予插入权限,则任何用户都不能。这并不能确保用户将插入一些自定义值,是吗?如果您不向用户授予插入权限,则任何用户都不能。在OP编辑其问题以使其更具体后,这是明确的答案。创建此表后,使用外键从原始表中引用此表。在OP编辑其问题以使其更具体后,这是明确的答案。创建此表后,请使用外键从原始表中引用此表。