Mysql 具有预定义值的数据库表

Mysql 具有预定义值的数据库表,mysql,database,database-design,Mysql,Database,Database Design,我创建了一个包含以下列的费用表: 名称:这是费用的名称,varchar类型 值:这是费用的值,双精度类型 日期:这是支付费用的时间。日期类型 情境:这就是我被卡住的地方,我需要用户在“已付款”、“未付款”和“过期”之间进行选择 如何创建该列?您可以使用字段。根据文件: 枚举是一个字符串对象,其值从表创建时列规范中显式枚举的允许值列表中选择 或者使用表存储允许的值“Payed”、“Pendent”和“过期”,并在费用表中使用该表的外键。 基本表创建我没有包含外键约束,因为根据您的表存储引擎,它可能

我创建了一个包含以下列的费用表:

名称:这是费用的名称,varchar类型

值:这是费用的值,双精度类型

日期:这是支付费用的时间。日期类型

情境:这就是我被卡住的地方,我需要用户在“已付款”、“未付款”和“过期”之间进行选择

如何创建该列?

您可以使用字段。根据文件:

枚举是一个字符串对象,其值从表创建时列规范中显式枚举的允许值列表中选择

或者使用表存储允许的值“Payed”、“Pendent”和“过期”,并在费用表中使用该表的外键。 基本表创建我没有包含外键约束,因为根据您的表存储引擎,它可能不受支持:

CREATE TABLE lst_situations(
    id INT PRIMARY KEY,
    label VARCHAR(255) NOT NULL
);

CREATE TABLE Expenses(
    id INT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    value DOUBLE NOT NULL,
    date DATETIME NOT NULL,
    situation_id INT NOT NULL
);

在创建表lst_situations后的第二个选项中,我必须创建insert语句,是吗?没错,只需插入3行,每个允许的值一行