首页 > 解决方案 > 如何在一列上添加多列外键?

问题描述

我想在一列上添加多个外键约束。怎么可能?

这是我的表结构:

语言
--------------------------------
- id  |  code |  name  |  name -
--------------------------------
国家
---------------------------------------------
- id  |  country_id |  language_id  |  name -
---------------------------------------------
城市
---------------------------------------------------------
- id  |  city_id |  language_id  |  country_id  |  name -
---------------------------------------------------------

我想做的事?例如:如果我有国家法国和城市巴黎,我的表格应该是这样的:

国家
---------------------------------------------
- id  |  country_id |  language_id  |  name -
---------------------------------------------
   1        1             1           France
   2        1             2           საფრანგ  
城市
---------------------------------------------------------
- id  |  city_id |  language_id  |  country_id  |  name -
---------------------------------------------------------
   1        1             1             1         Paris
   2        1             2             1         პარიზი  

因此,如您所见,每个国家/地区都有唯一的 ID(自动增量)列和 (own_id, language_id) 唯一对。如何将外键约束添加到引用(language_id,own_id)唯一列?这怎么可能?我必须只添加(own_id)references on other tables id外键吗?

任何帮助将不胜感激。

标签: mysqlsqldatabaseforeign-keysrelational-database

解决方案


ALTER TABLE ADD CONSTRAINT constraint_name FOREIGN KEY (c1) REFERENCES parent_table (p1);

那是你要的吗?


推荐阅读