我有下表:
- territory_id
- platform_id
- title_id (NULLable)
- collection_id (NULLable)
以下是我在表格中的一些值:
1 - ('US', 'ITUNES', 1, NULL)
2 - ('US', 'ITUNES', 1, NULL)
3 - ('US', 'ITUNES', NULL, 1)
1和2是重复的,不应该同时允许。但是,使用上述四个字段中的外键:
ALTER TABLE pricing ADD UNIQUE KEY (territory_id, platform_id, title_id, collection_id)
它仍然允许我插入它,很可能是因为如果其中一个字段为null,它会忽略完整性检查。有没有办法在(territory_id, platform_id, title_id)
和(territory_id, platform_id, colletion_id)
上创建两个唯一键来解决这个问题?