我尝试在插入新值时检查电子邮件的语法,但这似乎不起作用:
create table foo (
email varchar(100) not null,
constraint foo_check1 check (email like '%@%.%')
);
insert into foo values ('bar'); /* OK ...why ? */
我尝试在插入新值时检查电子邮件的语法,但这似乎不起作用:
create table foo (
email varchar(100) not null,
constraint foo_check1 check (email like '%@%.%')
);
insert into foo values ('bar'); /* OK ...why ? */
这是 MySQL 的一个已知限制 - 不支持检查约束CREATE TABLE
。请参阅:“ CHECK 子句已解析但被所有存储引擎忽略”
您应该先创建表,然后对其进行更改以添加检查约束。