SQL总是有一个很棒的功能:级联删除.你事先计划好,什么时候删除东西,BAM!无需担心所有这些依赖记录.
但是,现在实际上删除任何东西几乎都是禁忌.您将其标记为已删除并停止显示.不幸的是,当存在依赖记录时,我无法找到可靠的解决方案.我总是手动编写复杂的软删除网络.
那里有一个我完全错过的更好的解决方案吗?
让未经验证的用户加入是一个不错的选择,users_table还是我应该添加temp_users_table未经验证的用户?
第一个选项是在users_table带有列的行上创建行,例如,account_activated保存一个定义帐户是否经过验证的整数。
第二个选项是有两个相同的表,users_table和temp_users_table。最后添加未验证的用户。验证后,该行将被复制到users_table并从中删除temp_users_table。
哪一个更好,为什么?
编辑:
第二个表并不意味着永远留在那里,它是临时的,仅在用户未激活时才存在。当用户被激活时,它将被迁移到“主”user_table。
所以:
users_table: Will have the users that have been verified.
temp_users_table: Will have ONLY the users that are not verified.
Run Code Online (Sandbox Code Playgroud)