我有三张桌子:
`brands` (`id`, `name`)
`categories` (`id`, `name`)
`products` (`id`, `name`, `brand_id`, `category_id`)
还有更多列,尽管这些是唯一与该问题相关的列。
我希望所有三个表共享相同的auto_increment
id
(即,使id
三个表的唯一交叉)。后者可以通过使用引用适当表的公共表轻松解决:
`entries` (`id`, `name`, `type_id`)
问题是在原始场景中,所有表都有外部约束:
- 如果类别被删除,设置 NULL products.category_id
- 如果品牌被删除,级联 products.brand_id
- 如果产品被删除,级联所有评论
有哪些替代方案?