如何在插入MySQL之前检查字符串长度?

时间:2013-02-21 08:17:42

标签: mysql string triggers minimum

我在MySQL中创建了一个包含以下语句的表。

CREATE TABLE Users (
   UserName VARCHAR(15) NOT NULL PRIMARY KEY,
   Password VARCHAR(15) NOT NULL,
   Active Bool DEFAULT TRUE
)

所以我想在这张桌子上做一个2触发器:

  1. 检查用户名和密码是否超过4或8个字符。 (检查插入新行时字符串的最小长度)
  2. 制作一些正则表达式来检查密码。例如,我希望它包含大写和小写字符和数字。
  3. 请指导我。 非常感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用存储过程或触发器首先测试数据 与其他RDBMS

不同,MySQL不支持CHECK约束

存储过程方法更加明显,因为它在插入/更新之前进行测试 对于以后的代码维护,触发器可能非常不透明

但是,我更关心在数据库中使用纯文本密码。您通常使用的盐和哈希在哪里等?