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

时间:2013-03-21 23:22:56

标签: mysql check-constraints

我正在尝试在MySQL上添加一个检查约束,只允许有效的电子邮件地址,并且从我已有的语法看起来是:     更改表格书籍添加约束CheckEmail检查(电子邮件类似'%@ %。_%')

我的表是书,它有一个名为电子邮件的列,其中包含电子邮件地址。

其他链接似乎证实这应该是正确的: TSQL Email Validation (without regex)

这看起来不错吗?

这已正确执行但在此之后我可以添加一个条目'h'。任何想法在这里有什么问题?

我在使用mySQL 5.1。

1 个答案:

答案 0 :(得分:1)

MySQL实际上并没有强制执行检查约束。如果你包括它们,它不会禁止,但它也不会强制执行它们的检查。这在StackOverflow [1]的其他地方得到了更多细节,在MySQL论坛中有很多次,包括讨论[3]和错误[2]。请注意,MySQL确实支持外键约束和UNIQUE的强制执行。使用InnoDB进行此操作。