代码之家  ›  专栏  ›  技术社区  ›  NullPointerException

如何创建只有3个给定值的列的表?

  •  2
  • NullPointerException  · 技术社区  · 14 年前

    我正在用MySQL创建一个SQL数据库。

    我该怎么做?

    3 回复  |  直到 14 年前
        1
  •  9
  •   Fosco    14 年前

    ENUM 键入。 http://dev.mysql.com/doc/refman/5.0/en/enum.html

    CREATE TABLE sizes (
        name ENUM('small', 'medium', 'large')
    );
    
        2
  •  0
  •   Johnbabu Koppolu    14 年前

    ALTER TABLE yourtable
    add CONSTRAINT yourcolumn
       CHECK (yourcolumn IN ('Total', 'Hours', 'OnDemand'));
    

    在使用其他数据库时,应该有等效的检查。

        3
  •  0
  •   JasonA    14 年前

    如果要将其构建到表本身中,则需要使用check约束,如下所示:

    CREATE TABLE YourTable
    (
      YourColumn VARCHAR(50) NOT NULL,
      CONSTRAINT ck_YourConstraint CHECK (YourColumn = 'Total' OR YourColumn = 'Hours' OR YourColumn = 'OnDemand')
    )
    

    但是,您可能希望进一步规范化数据库设计,并将这些设计放入应用程序使用的单独查找表中。这将允许您在将来以任何方式修改这些查找时具有很大的灵活性。