1

我想知道如何继续将记录标记为已删除,而不是从数据库中物理删除记录。我以前从来没有遇到过这样的事情。有什么我可以学习的教程吗?

4

3 回答 3

2

最简单的方法是向表中添加一个新的 BOOL 列,例如enabled默认值为1.

然后UPDATE table_name SET enabled = 0,当您想“删除”该行时。

并过滤掉查询中的“已删除”行,例如:

SELECT * FROM table_name WHERE ... AND enabled = 1

于 2013-06-30T18:59:36.840 回答
1

MySQL 中没有任何内在的东西可以将记录标记为已删除 - 但您可以添加自己的列来描述状态 - 您只需要记住将其从查询中排除。当您尝试插入具有与已删除记录匹配的唯一/主键的行时,就会出现复杂情况;您需要添加触发器来修改状态。真正更简单的选择是首先删除数据(您不会说通过不删除行来实现的目标)

于 2013-06-30T19:03:45.440 回答
1

在表中使用额外的布尔字段来表示条目是否有效。

TableName(<Your Fields>,Valid)

有效 =1 ,则存在。

有效=0,则删除。

于 2013-06-30T18:59:58.220 回答