当前位置: 首页 > 面试题库 >

如何在MySQL中为多个列指定唯一约束?

夏侯浩气
2023-03-14
问题内容

我有一张桌子:

table votes (
    id,
    user,
    email,
    address,
    primary key(id),
);

现在,我想使列的 用户,电子邮件,地址 唯一(在一起)。

如何在MySql中执行此操作?

当然,这个例子仅仅是……一个例子。因此,请不要担心语义。


问题答案:
ALTER TABLE `votes` ADD UNIQUE `unique_index`(`user`, `email`, `address`);


 类似资料:
  • 问题内容: 我们有一个遗留数据库架构,该架构具有一些有趣的设计决策。直到最近,我们仅支持Oracle和SQL Server,但是我们试图添加对PostgreSQL的支持,这带来了一个有趣的问题。我已经搜索了Stack Overflow和Internet的其余部分,但我不认为这种特殊情况是重复的。 对于唯一约束中的可为空的列,Oracle和SQL Server的行为相同,这实际上是在执行唯一检查时忽

  • 问题内容: 我正在将SEAM 2 / Hibernate与PostgreSQL 9数据库一起使用。我有下表 我想添加一个约束,以确保每个新条目都具有active_band_user和active_band_date的唯一组合。 每秒可能有许多次尝试插入,因此我需要尽可能地提高效率,是否可以在实体映射中使用SEAM /hibernate注释? 提前致谢 问题答案: 没有Hibernate注释在插入/

  • 问题内容: 我想在MySQL表中添加一列,命名为。在此列中,只有一个记录可以设置为。 如何使用mysql将这个约束添加到我的列中? 谢谢! 更新 如果不是一个限制,我应该添加。我们如何处理数据库上的此类问题? 问题答案: 我认为这不是对单个默认值的情况进行建模的最佳方法。 取而代之的是,我将IsDefault列留在外面,并创建一个单独的表,该表只有一行,并且只有构成主表主键的列。在此表中,放置标识

  • 问题内容: 以下模型是一个事件的简单邀请,从一个用户发送到另一个用户。我想确保邀请在以下三列中是唯一的:to_user,from_user和event。 我尝试使用本专栏,但它不起作用。该约束应在SQLite以及生产中的MySQL上均有效。如何定义此唯一约束? 问题答案: 您需要将约束添加到表,而不是模型。为此,请使用声明式: 如果已经在数据库中创建了表,则需要删除该表并再次运行,或者使用Alem

  • 问题内容: 我有两个表->变量(id,名称)和Variable_Entries(id,var_id,值)。 我希望每个变量都具有唯一的一组条目。如果我使值条目唯一,那么其他变量将无法具有相同的值,这是不正确的。 有什么办法可以使相同的var_id的value列唯一? 问题答案: 是的: 现在,您对var_id和value有了唯一的约束。换句话说,var_id和value的出现不能出现多次。

  • 问题内容: 我定义了一个MySQL表: 我在这里阅读到MySQL不支持带条件的。对于每个 customerId, 我们只有一个 primaryImage = 1 。 那么我还能采取什么措施来强制执行此约束? 问题答案: 完美支持独特的约束。 但是,它不支持部分约束/索引,因此您需要使用而不是标记非主图像。 您可以将任意数量的值插入到每个客户中,但只能插入一个非空值。