标签: mysql check-constraints
我正在尝试在MySQL上添加一个检查约束,只允许有效的电子邮件地址,并且从我已有的语法看起来是: 更改表格书籍添加约束CheckEmail检查(电子邮件类似'%@ %。_%')
我的表是书,它有一个名为电子邮件的列,其中包含电子邮件地址。
其他链接似乎证实这应该是正确的: TSQL Email Validation (without regex)
这看起来不错吗?
这已正确执行但在此之后我可以添加一个条目'h'。任何想法在这里有什么问题?
我在使用mySQL 5.1。
答案 0 :(得分:1)
MySQL实际上并没有强制执行检查约束。如果你包括它们,它不会禁止,但它也不会强制执行它们的检查。这在StackOverflow [1]的其他地方得到了更多细节,在MySQL论坛中有很多次,包括讨论[3]和错误[2]。请注意,MySQL确实支持外键约束和UNIQUE的强制执行。使用InnoDB进行此操作。