2013-05-20 43 views
0

我有我的數據庫 「countries, cities and address_book如何使用基於主主鍵的重複值設置主鍵?

表3個表:國家

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. 但在表citiescity_i d的主鍵不允許我更新表有重複鍵

  2. 而且當我更新表中的citiescity_id。我需要根據主鍵country_id

+0

使用複合主鍵'COUNTRY_ID + city_id' –

+0

然後,你需要一個複合主鍵,或者一個完全獨立的自動增量主鍵和一個唯一的密鑰,對COUNTRY_ID和city_id –

回答

1

當你引用的另一個表的鍵字段,你應該使用FOREIGN KEY來更新​​city_id。本品適用於country_codecities

你也應該從​​刪除country_code,因爲表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