mysql - 如何向 MySQL 数据字段添加正则表达式?

标签 mysql regex mysql-workbench

我有下表:

Table Account{
    [...]
    email varchar(100),
    [...]
}

以及相应的正则表达式:

/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i

如何使用 MySQL 模型,将正则表达式链接到数据字段“电子邮件”,以便可以通过 php 和触发器读取正则表达式,甚至更好,以某种方式约束?

我想直接使用 MySQL Workbench 定义它,所以单独的表对我来说不起作用。

最佳答案

在我看来,像这样的输入验证实际上并不是数据库的任务。这些验证规则可能会改变。有一天您甚至可以让用户可以配置它们。如果规则被隐藏在某个触发器中,这将变得非常困难。

此外,无论如何,您都需要在应用程序级别处理验证错误 - 显示某种消息。

让 MySQL 中的 PHP 可以访问它们的最佳位置可能是列注释,您可以使用 SHOW COLUMNS 获取它。与 FULL 关键字结合使用。

关于mysql - 如何向 MySQL 数据字段添加正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3731373/

相关文章:

c# - 无法从数据库 MySqL C# 获取图像

python - 如何高效使用 MySQLDB SScursor?

JavaScript:提取与正则表达式匹配的字符串

c# - 在食物成分文本中查找 "E numbers"的正则表达式

javascript - 带有特定字符串和之后任意数量字符的正则表达式

database - 数据导入是否会替换 MySQL Workbench 中的现有数据?

mysql - 使用 MySQL Workbench 连接到实时数据库

php - 获取最新记录提交SQL的时间

mysql - 在 rails 中显示关系数据库表中的数据的问题

mysql - 如何在Windows 10机器中禁用MySQL 8.0中的secure_file_priv?