MySQL在创建表时指定数字输入范围

MySQL在创建表时指定数字输入范围,mysql,Mysql,为了限制分类输入,我使用了ENUM,同时如何处理数字范围(整数或实数),例如,Imp的356-956 /**********************************************************************/ /*Create database and table with constraint*/ CREATE DATABASE Hactl; CREATE TABLE Hactl.table1( Type CHAR(1) ENUM('M','C

为了限制分类输入,我使用了
ENUM
,同时如何处理数字范围(整数或实数),例如,Imp的356-956

/**********************************************************************/
/*Create database and table with constraint*/

CREATE DATABASE Hactl;
CREATE TABLE  Hactl.table1(
    Type CHAR(1) ENUM('M','C') NOT NULL,
    Region VARCHAR(50) NOT NULL,
    Country VARCHAR(50) NOT NULL,
    City VARCHAR(3) NOT NULL,
    Imp DECIMAL(10,2) NOT NULL,
    Exp DECIMAL(10,2) NOT NULL,
    TS DECIMAL(10,2) NOT NULL,
    Year INT(4) NOT NULL,
    Month CHAR(3) ENUM('Jan', 'Feb', 'Mar',
               'Apr', 'May', 'Jun',
               'Jul', 'Aug', 'Sep',
               'Oct', 'Nov', 'Dec') NOT NULL,
);

谢谢

您正在寻找的是一个,但不幸的是mysql不支持它

因此,您没有任何特别优雅的选项,但可以在插入/更新之前使用,
或者,您可以创建一个包含允许值的表,然后使用。

Oh并将您的投票添加到mysql的这个10年(!)功能请求中,以添加检查约束:)