是否有一种方法可以防止在涉及多列的SQL DB中重复条目?

  • 本文关键字:SQL DB 一种 方法 是否 mysql
  • 更新时间 :
  • 英文 :


我有一个地址数据库表,每个地址都被设置成它的组成部分,例如:

Address ID(PK, AI) 
Customer ID
Street Number
Street Name
City
etc. 

我想知道最好的方法是添加数据,以避免这些值的重复组合?

我的客户可能有多个地址,但我希望每个地址的组合是唯一的。

是否有一些方法抛出错误时,整个行等于另一行?

感谢

这是一个多对多关系:

一种方法是分成3个表:

Customers:{
Customer ID (PK)
}
Address:{
Address ID(PK)
Street Number
Street Name
City
}
CustomerAddress{
CustomerID (FK)
AddressID (FK)
(AddressId, CustomerID) = PK
}

(AddressId, CustomerID) = PK将确保(客户<->)地址)是唯一的

最新更新