table userinfo (
user,
email,
address,
primary key(user)
);
在這個表中「用戶」字段是一樣的,在插入時「電子郵件」。但用戶可以在後面更改他們的'電子郵件'。 所以我想讓電子郵件也是唯一的,如果電子郵件已經存在於表格中,插入查詢失敗。
是否有可能?
在此先感謝,這只是一個例子。
table userinfo (
user,
email,
address,
primary key(user)
);
在這個表中「用戶」字段是一樣的,在插入時「電子郵件」。但用戶可以在後面更改他們的'電子郵件'。 所以我想讓電子郵件也是唯一的,如果電子郵件已經存在於表格中,插入查詢失敗。
是否有可能?
在此先感謝,這只是一個例子。
是,添加一個UNIQUE
約束
table userinfo (
user,
email,
address,
primary key(user),
CONSTRAINT tb_uq UNIQUE (email)
);
表將擁有獨特的USER
和獨特Email
。
您的意思是CONSTRAINT tb_uq UNIQUE(電子郵件)。對? –
@AjitCatalányep,已更新。 –
謝謝你的工作 –
您可以在表格上創建多個索引。所以如果你在你想要的列上創建2個唯一的索引,它將會以你想要的方式工作。如果您在多個列上創建1個索引,則這些列的組合必須是唯一的。
如果您要求電子郵件是唯一的,那麼爲什麼不把它作爲主鍵? (我不是故意重燃關於自然與代理鍵的宗教辯論,但是如果你真的想在數據庫層中強加唯一性約束,那麼它可能是一個明智的解決方案。 – eggyal