猿问

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

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

我有张桌子:

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

现在我想让列用户,电子邮件,地址独一无二的(一起)

如何在MySQL中做到这一点?

  • 当然这个例子就是.。举个例子。所以请不要担心语义学。


拉丁的传说
浏览 2238回答 4
4回答

白衣非少年

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

喵喔喔

如果在行中有空值,而MySQL将NULL视为唯一值,并且至少目前没有逻辑可以在多列索引中处理它,则多列唯一索引在MySQL中不起作用。是的,这种行为是疯狂的,因为它限制了许多合法的多列索引应用程序,但它就是.到目前为止,它是一个bug,它已经在MySQL错误跟踪上印有“将不会修复”.
随时随地看视频慕课网APP
我要回答