同时添加唯一的3列

问题描述 投票:0回答:1

我有一个名为social_accounts的表来存储OAuth登录的数据

id
user_id
provider
provider_id

我想使user_id,provider,provider_id唯一,但我希望所有3列同时是唯一的表示具有ID x的用户可以具有例如provider_id b和provier google,但是此行没有重复,但是使用x可以具有具有提供者faceook的另一行作为示例

mysql laravel laravel-socialite
1个回答
0
投票
要在多列上设置provider索引,请尝试以下操作:

UNIQUE

但是,如果您要坚持使用表中具有ALTER TABLE `social_accounts` ADD UNIQUE `unique_index`(`user_id`, `provider_id`); 的方法,请使用此方法:

provider

还请注意,ALTER TABLE `social_accounts` ADD UNIQUE `unique_index`(`user_id`, `provider_id`, `provider`); 是索引的名称,并且可以根据需要命名。

© www.soinside.com 2019 - 2024. All rights reserved.