0

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

     apt-get install mysql-server

令我惊讶的是,它是一个不尊重我用“检查”编写的任何约束的 mysql。你能告诉我这是一个错误还是我不知道如何在 mysql 中使用约束?(我主要用 sql simple 编写命令)

例如这些命令:

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)

怎么可能?

4

1 回答 1

2

很抱歉这么说,但是......

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

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

于 2011-10-14T14:31:06.240 回答