MySql约束不适用于mysql Ubuntu

时间:2011-10-14 14:26:53

标签: mysql ubuntu check-constraints

我使用经典命令在我的ubuntu中安装了mysql:

     apt-get install mysql-server

令我惊讶的是,它是一个mysql,它不遵守我用“check”编写的任何约束。 你能告诉我这是一个bug还是我不知道如何在mysql中使用约束? (我主要在sql中编写命令简单)

例如这些命令:

CREATE TABLE Employee (
Name    VARCHAR(50) PRIMARY KEY NOT NULL, 
Phone VARCHAR(15) DEFAULT 'Unknown Phone',
Age     INT CHECK (Age BETWEEN 20 and 30));

INSERT INTO Employee (Name, PhoneNo, Age) VALUES ('Joe Wang', '666 2323', 26);
INSERT INTO Employee (Name, Age) VALUES ('John Doe', 31);

现在桌子看起来像这样:

| Name     | PhoneNo       | Age  |
| Joe Wang | 666 2323      |   26 |
| John Doe | Unknown Phone |   31 |

2 rows in set (0.01 sec)

怎么可能?

1 个答案:

答案 0 :(得分:2)

很抱歉这样说,但....

  
    
      

CHECK子句被解析但被所有存储引擎忽略。

    
  

http://dev.mysql.com/doc/refman/5.5/en/create-table.html