我有一个名为social_accounts
的表来存储OAuth登录的数据
id
user_id
provider
provider_id
我想使user_id,provider,provider_id
唯一,但我希望所有3列同时是唯一的表示具有ID x
的用户可以具有例如provider_id b
和provier google
,但是此行没有重复,但是使用x
可以具有具有提供者faceook
的另一行作为示例
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`);
是索引的名称,并且可以根据需要命名。