具有预定义值的数据库表

时间:2014-07-04 00:05:47

标签: mysql database database-design

我创建了一个表费用,其中包含以下列:

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

值:这是费用的值,Double type

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

情况:这是我遇到困难的地方,我需要用户在“付费”,“下注”和“过期”之间做出选择。

如何创建该列?

1 个答案:

答案 0 :(得分:0)

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

  

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

或使用表格存储您允许的值('支付',' 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
);