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

标签 mysql unique-constraint composite-key database-table

我有一张 table :

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

现在我想让用户、电子邮件、地址列(一起)唯一。

如何在 MySql 中执行此操作?

当然这个例子只是......一个例子。所以请不要担心语义。

最佳答案

要添加唯一约束,您需要使用两个组件:

ALTER TABLE - 更改表架构,

ADD UNIQUE - 添加唯一约束。

然后,您可以使用以下格式定义新的唯一键:'name'('column1', 'column2'...)

因此,对于您的特定问题,您可以使用以下命令:

ALTER TABLE `votes` ADD UNIQUE `unique_index`(`user`, `email`, `address`);

关于mysql - 如何在 MySQL 中为多列指定唯一约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33309325/

相关文章:

java - Jooq如何根据组合键查询实体

java - 带有对象引用的 JPA 复合键

javascript - 在 mysql 中使用唯一键 - Sequelize

php - 我如何构造这个嵌套的 mysql 查询?

mysql - 如果存在特定 id,则将 json 值提取到列中

mysql - 复杂更新语句

mysql - 如果其中一个字段已经是唯一的,我可以添加一个复合唯一键吗

mysql - 如何处理Mysql中分层数据的数据库?

spring - JPA save() 涉及@UniqueContraint 字段

database - ElasticSearch-唯一约束的解决方法