如何根据主键设置具有重复值的主键?

时间:2013-05-20 13:14:13

标签: php mysql mysqli

我的数据库中有3个表“countries, cities and address_book

表:国家

country_code   (primary key)
country_Name

表:城市

country_code   (primary key)
city_code (primary key)
city_Name

表:address_book

country_code   (primary key)
city_code (primary key)
address

我需要设置表格cities,如下所示

country_id       city_id   ciTy_name
IN               1         IN_city_name_1  
IN               2         IN_city_name_2
AE               1         AE_city_name_1  
AE               2         AE_city_name_2
  1. 但是我city_i表中的cities d的主键不允许我使用重复键更新表

  2. 当我更新表city_id中的cities时。我需要根据主键city_id

  3. 更新address_book中的country_id

1 个答案:

答案 0 :(得分:1)

当您的字段引用另一个表的键时,您应该使用FOREIGN KEY。这适用于country_code

中的cities

您还应该从country_code移除address_book,因为表格cities已经包含它。

我该怎么做:

Table : countries
  country_code   (primary key)
  country_Name

Table : cities
  city_code (primary key)
  country_code (FOREIGN KEY)
  city_Name

Table : address_book
  id (primary key)
  city_code (FOREIGN KEY)
  address