我有一個數據庫表像這樣:MySQL的檢查約束
-- Table KNOWN_AS
create table `known_as`(
id int not null auto_increment,
person_id int not null,
default_name boolean not null,
first_name varchar(100) not null,
middle_name_1 varchar(100),
middle_name_2 varchar(100),
middle_name_3 varchar(100),
last_name varchar(100),
primary key(id),
foreign key(person_id) references `person`(id)
) engine=innodb;
當插入值,我要檢查每一個獨特的「PERSON_ID」有且只有一個真正的「DEFAULT_NAME」。
所有谷歌搜索等我迄今爲止做了導致頁面解釋如何保持價值非負面,或如何確保價值是唯一的 - 而不是如何檢查一個值在多個條目中是唯一的(但不是全部)。
任何幫助/指針非常感謝!
你的問題是指兩個完全不同的東西:1. *我想檢查每個唯一的「person_id」是否只有一個真正的「default_name」*和2. *如何檢查一個值是在多個條目中獨一無二(但不是全部)*你想要哪個? – eggyal