首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >电子邮件地址的MySQL检查约束

电子邮件地址的MySQL检查约束
EN

Stack Overflow用户
提问于 2013-03-21 23:22:55
回答 2查看 4.7K关注 0票数 0

我试图在MySQL上添加一个check约束,使其只允许有效的电子邮件地址,从我已经掌握的语法来看: Alter图书添加约束CheckEmail检查(电子邮件,如'%@%._%')

我的桌子是书,它有一个专栏叫做电子邮件,其中有电子邮件地址。

其他链接似乎证实了这一点是正确的:TSQL电子邮件验证(没有regex)

这个看起来还好吗?

这是正确的执行,但在此之后,我可以添加一个条目'h‘。有什么好主意吗?

我上的是mySQL 5.1。

EN

回答 2

Stack Overflow用户

发布于 2022-02-02 06:53:03

是的,您可以从MySQL 8开始使用check约束:

代码语言:javascript
运行
复制
ALTER TABLE `user` 
ADD CONSTRAINT `user.email_validation` 
    CHECK (`email` REGEXP "^[a-zA-Z0-9][a-zA-Z0-9.!#$%&'*+-/=?^_`{|}~]*?[a-zA-Z0-9._-]?@[a-zA-Z0-9][a-zA-Z0-9._-]*?[a-zA-Z0-9]?\\.[a-zA-Z]{2,63}$");
票数 2
EN

Stack Overflow用户

发布于 2013-04-11 17:26:58

MySQL实际上并没有强制执行检查约束。如果包含它们,它将不会失效,但是它也不会强制执行它们的检查。这个问题在StackOverflow [1]的其他地方得到了更详细的回答,在MySQL论坛上也有很多次,包括讨论[3.]和bug [2]。请注意,MySQL确实支持外键约束和惟一的强制执行。为此使用InnoDB。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15560004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档