对“人只能有1”的SQL限制

时间:2014-12-16 20:17:49

标签: sql

我有一个关于编写SQL约束的问题。

我有两张桌子:

personid (primarykey, int)
name (varchar)

汽车

personid (foreignkey)
brand (varchar)

我怎样才能写一个约会,上面写着'人只能拥有1辆车'?

3 个答案:

答案 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