如何在MySQL中創建一個約束表,該表只適用於您希望1字段對於每個唯一記錄唯一的1個特定表?MySQL對於唯一值的約束
例如,讓我們說,我有一個名爲 「人」 具有以下字段的表:
- person_social_security(主鍵)
- PERSON_ID
- PERSON_NAME
- person_phone_extension
對於每條記錄,我想確保字段#3(person_phone _extension)對於每個person_id也總是唯一的。換句話說,person_id不應該有重複person_phone_extension。然而,不同的person_id可以具有相同的person_phone_extension作爲另一個person_id。在此表中可以有person_id的多個實例。用我的小提琴,你可以看到,如果你取消註釋我最後的查詢,將帶來MySQL錯誤有關重複值
create table person (
person_id int auto_increment primary key,
person_name varchar(50),
person_phone_extension int unique key);
:
如果'person_id'不是唯一不能是'主要key' – Alex
真。更改了示例以糾正該錯誤。 –
如果我瞭解你,你可以擁有多個具有相同person_id的記錄,那麼該列代表什麼? –