我在插入新值时尝试检查电子邮件的语法, 但这似乎不起作用:
create table foo (
email varchar(100) not null,
constraint foo_check1 check (email like '%@%.%')
);
insert into foo values ('bar'); /* OK ...why ? */
答案 0 :(得分:1)
这是MySQL的已知限制 - CREATE TABLE
不支持检查约束。
请参阅:“The CHECK clause is parsed but ignored by all storage engines”
您应首先创建表,然后更改它以添加检查约束。