我有下表:
Table Account{
[...]
email varchar(100),
[...]
}
和相应的正则表达式:
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
如何使用 MySQL 模型将正则表达式链接到数据字段“电子邮件”,以便在某种约束下可以通过 php 以及触发器甚至更好地读取正则表达式?
我想直接使用 MySQL 工作台来定义它,所以单独的表对我不起作用。
我有下表:
Table Account{
[...]
email varchar(100),
[...]
}
和相应的正则表达式:
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
如何使用 MySQL 模型将正则表达式链接到数据字段“电子邮件”,以便在某种约束下可以通过 php 以及触发器甚至更好地读取正则表达式?
我想直接使用 MySQL 工作台来定义它,所以单独的表对我不起作用。
在我看来,像这样的输入验证并不是数据库的真正任务。这些验证规则可能会改变。有一天,您甚至可以让它们由用户配置。如果规则隐藏在某处的某个触发器中,这将变得非常困难。
此外,无论如何,您都需要在应用程序级别处理验证错误 - 显示某种消息。
在 mySQL中让PHP可以访问它们的最佳位置可能是列注释,您可以将SHOW COLUMNS
其与FULL
关键字一起使用。