【发布时间】:2013-03-11 16:47:08
【问题描述】:
我正在尝试在 MySQL 上添加一个检查约束,以仅允许有效的电子邮件地址,并且从我已有的语法看来: Alter Table book Add Constraint CheckEmail Check (email Like '%@%._%')
我的表是 book,它有一个名为 email 的列,其中包含电子邮件地址。
其他链接似乎证实这应该是正确的: TSQL Email Validation (without regex)
这看起来好吗?
这执行正确,但在此之后我可以添加一个条目“h”。有什么想法吗?
我使用的是 mySQL 5.1。
【问题讨论】:
-
最好的办法(我个人认为)是使用您用来查询的任何语言检查您的电子邮件输入,例如 php。您甚至可以检查 DNS 以确保托管是真实的。
-
我在其他地方读到过,最好的办法是将其限制在数据库本身上,但我是用 PHP 编写的,所以如果其他人不回来,我可能会尝试查看它。我认为我不会去检查 DNS,但感谢您的想法。
-
在本文中,您可以找到完整函数背后的逻辑,以真正使用 php 验证电子邮件地址以及函数本身。如果您确实使用此解决方案,我希望它会有所帮助。 linuxjournal.com/article/9585?page=0,3