我有一个关于编写SQL约束的问题。
我有两张桌子:
人
personid (primarykey, int)
name (varchar)
汽车
personid (foreignkey)
brand (varchar)
我怎样才能写一个约会,上面写着'人只能拥有1辆车'?
答案 0 :(得分:1)
有几种方法可以做到:
在Car.PersonId上创建一个唯一约束
ALTER TABLE Car
ADD UNIQUE (personid)
或
让Car.PersonId成为桌面上的主键(天生独一无二)
ALTER TABLE Car
ADD PRIMARY KEY (personid)
请注意,您的RDBM语法可能略有不同,您没有指定,但上面是MS sql。
有关在多个RDBM之间设置唯一约束的不同语法,请参阅:http://www.w3schools.com/sql/sql_unique.asp
请参阅:http://www.w3schools.com/sql/sql_primarykey.asp了解相同但主键。
这种关系称为1 to 1 relationship
答案 1 :(得分:0)
检查this并在car.personid
上使用。
答案 2 :(得分:0)
在car.personid
上加unique constraint。