MYSQL - 来自同一列的2个约束

时间:2017-07-05 04:34:53

标签: mysql

我有一张表格如下

enter image description here

我的问题是,地址有时会有2个或3个不同的区域。

我的列“zone(TINYINT)”链接到具有外键约束的其他表“db_zone”

是否可以在我的列中添加第二个参数,如

enter image description here

我知道我可以将我的列更改为varchar,然后删除我的约束然后添加“Zone:1/2”并将我的列“zone”的值展开以稍后执行我的查询,但我想保留我的约束

我不想复制我的条目,因为列“id”也是从另一个表链接的,所以稍后我会遇到同样的问题。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,这是一个多对多关系的情况。您的地址可以属于多个区域,区域下可以有多个地址 执行此操作的正确方法应该是在地址和区域表(即.address_zone)之间建立关联表,其中address_zone表具有地址和区域表的外键。

以下是参考:https://en.wikipedia.org/wiki/Many-to-many_(data_model)

答案 1 :(得分:0)

我不太明白你的问题 但希望这会有所帮助 你可以设计一个这样的关系: enter image description here

这是数据输入的示例: enter image description here