数据库外键可以建立表之间的约束关系,也可以配置级联更新或级联删除。但级联能力越强,误操作影响范围也越大。
级联更新
当用户表主键发生变化时,订单表里的用户 ID 可以自动同步更新。实际项目里主键一般不改,所以级联更新用得不多。
级联删除
如果订单表强依赖用户表,删除用户时可能自动删除订单。这种操作风险很高,业务系统里通常不建议随便开启。
建议
强业务数据更适合用软删除、状态字段和显式业务流程处理。外键约束可以用来保证一致性,但不要把复杂业务删除逻辑完全交给数据库自动级联。
正文完
数据库外键可以建立表之间的约束关系,也可以配置级联更新或级联删除。但级联能力越强,误操作影响范围也越大。
当用户表主键发生变化时,订单表里的用户 ID 可以自动同步更新。实际项目里主键一般不改,所以级联更新用得不多。
如果订单表强依赖用户表,删除用户时可能自动删除订单。这种操作风险很高,业务系统里通常不建议随便开启。
强业务数据更适合用软删除、状态字段和显式业务流程处理。外键约束可以用来保证一致性,但不要把复杂业务删除逻辑完全交给数据库自动级联。