TIM*_*MEX 2 mysql sql database-design
出于某种原因,有人告诉我永远不要删除任何 MySQL 记录。只需将其标记为已删除即可。
例如,我正在构建一个“关注”社交网络,例如 Twitter。
+-------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_id | int(11) | NO | | NULL | |
| to_user_id | int(11) | NO | | NULL | |
+-------------+------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)
用户 1 关注用户 2...
那么,如果一个用户停止关注某人,我应该删除这条记录吗?或者我应该为 is_deleted 创建一个列?
这是一个称为“软删除”的概念。谷歌搜索这个词可以找到更多。但用标志标记只是一种选择 - 您也可以实际执行删除,但有一个触发器将副本存储在历史表中。这样,您就不必更新所有选择的函数来专门过滤掉已删除的记录。此外,您的表上不会有太多的负载,因为您必须扫描散落在表中的其他记录。
| 归档时间: |
|
| 查看次数: |
1665 次 |
| 最近记录: |