Mysql 有没有一种方法可以创建一个SQL约束来确保只有一行可以为每个唯一的StoreId设置bool=1?

Mysql 有没有一种方法可以创建一个SQL约束来确保只有一行可以为每个唯一的StoreId设置bool=1?,mysql,sql,database,constraints,Mysql,Sql,Database,Constraints,写标题很难,所以问题来了 store_id | supplier_id | supplier_is_active A | 2 | 1 A | 3 | 0 B | 4 | 0 B | 5 | 1 我需要确保每个store_id只能有一个活动供应商,我希望通过表约束检查来实现这一点。但我认为不可能在约束内进行聚合 有什么好主意吗?您可以在其他数据库中使用经过筛选的

写标题很难,所以问题来了

store_id | supplier_id | supplier_is_active
A        | 2           | 1
A        | 3           | 0
B        | 4           | 0
B        | 5           | 1
我需要确保每个store_id只能有一个活动供应商,我希望通过表约束检查来实现这一点。但我认为不可能在约束内进行聚合


有什么好主意吗?

您可以在其他数据库中使用经过筛选的唯一索引来执行此操作。在MySQL中,您可以使用触发器。第二个答案显示了如何使用触发器模拟检查约束。