Mysql唯一值或空字符串

标签 mysql sql unique

我有一个电子邮件邮寄列表。每个注册的用户都有一个激活 key 。激活 key 最初是在注册时创建的。每个 key 都是唯一的。

一旦用户确认注册,这就是数据库中的一个空字符串。

如果字段中有 null,有没有办法让我创建一个唯一的约束。

换句话说,所有值(如果不是 null 或空字符串)都是唯一的。

我设置为唯一并允许空值,但这不起作用。我无法输入 null 和唯一值,即当设置为 null unique 时多次输入 null

最佳答案

不,您将无法创建这样的唯一约束,因为唯一约束就是唯一的,并且具有 NULL 或空字符串的多行将是重复的行。但是,我建议您不要清空此列,而是使用一个 bool 字段来指示注册已确认 - 这样更直接,然后您可以在该字段上使用唯一约束。

关于Mysql唯一值或空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11888560/

相关文章:

mysql - 在对象数组中搜索具有特定值的特定键

python-3.x - Pandas 标签重复

mysql - 连接具有相同字段名称的多个表后,如何在 mysql 结果中显示唯一字段?

excel - 计算范围内唯一的非空白条目

MySQL 数据整数转 SQL Server 日期时间类型

php - 如何检测 MySQL 查询是否来自缓存?

mysql - SQL - 两列对应的列的最大值

c# - 不允许 SQL 表参数化?

mysql - 给定年份的总销售额总和

php - 如何优化这个网站。需要一般建议