0

我尝试在插入新值时检查电子邮件的语法,但这似乎不起作用:

create table foo (
    email varchar(100) not null,
    constraint foo_check1 check (email like '%@%.%')
);

insert into foo values ('bar'); /* OK ...why ? */
4

1 回答 1

1

这是 MySQL 的一个已知限制 - 不支持检查约束CREATE TABLE。请参阅:“ CHECK 子句已解析但被所有存储引擎忽略

您应该先创建表,然后对其进行更改以添加检查约束。

于 2012-07-19T07:34:01.287 回答