我试图在MySQL上添加一个check约束,使其只允许有效的电子邮件地址,从我已经掌握的语法来看: Alter图书添加约束CheckEmail检查(电子邮件,如'%@%._%')
我的桌子是书,它有一个专栏叫做电子邮件,其中有电子邮件地址。
其他链接似乎证实了这一点是正确的:TSQL电子邮件验证(没有regex)
这个看起来还好吗?
这是正确的执行,但在此之后,我可以添加一个条目'h‘。有什么好主意吗?
我上的是mySQL 5.1。
发布于 2022-02-02 06:53:03
是的,您可以从MySQL 8开始使用check约束:
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}$");
https://stackoverflow.com/questions/15560004
复制相似问题