[英]MySql - how can you create a unique constraint on a combination of two values in two columns
[英]How can I create a unique constraint 2 columns on Boolean Values?
我有一个表,名称为address_book。
我有字段id,user_id,......,default_address,address_type
address_type为布尔值(0:交货地址-1:发票地址)default_address为boolean(0:非默认地址-1:默认地址)
认为一家公司有8个地址。 五个地址用于交货,三个地址用于发票。
但同时,只有一个默认值取决于address_type。 一个默认的交货地址,一个默认的发票地址。
如果我查询此语句
alter table address_book add unique index(default_address, address_type)
这是不合逻辑的。
id | user_id | default_address | address_type|
.. | .. | | |
.. | .. | | |
.. | .. | | |
----------------------------------------------
12 | 10 | 1 | 1 |
----------------------------------------------
13 | 10 | 0 | 1 |
----------------------------------------------
14 | 10 | 0 | 1 |
----------------------------------------------
15 | 10 | 1 | 0 |
----------------------------------------------
16 | 10 | 0 | 0 |
----------------------------------------------
17 | 10 | 0 | 0 |
在这种概念下,每个用户最多可以使用2个default_address,一个是发票,一个是交货地址。
我该如何使用唯一索引来验证这种情况。
如何添加两个新表,一个用于默认发票地址,另一个用于默认传递。 然后,您对这两个表的约束将只是address.id和user.id。 主键是两个字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.