[英]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.