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