尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
软删除 vs 硬删除:MySQL 实现软删除(is_deleted 字段),避免数据丢失
前言开发中直接 DELETE 硬删除数据一旦误删无法恢复订单、用户、商品等核心业务数据绝对不能物理删除。行业通用方案软删除逻辑删除通过 is_deleted 标记区分有效 / 已删除数据。一、硬删除DELETE不推荐核心业务-- 物理删除数据彻底消失无备份无法找回 DELETE FROM user WHERE user_id 10;缺点误删无法恢复无法统计历史订单、用户数据丢失业务记录。二、软删除设计方案1. 表统一增加软删除字段CREATE TABLE user ( user_id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL, password VARCHAR(64) NOT NULL, is_deleted TINYINT DEFAULT 0 COMMENT 0正常 1已逻辑删除, delete_time DATETIME NULL COMMENT 删除时间 );字段说明is_deleted0 有效数据1 已删除delete_time记录删除时间用于统计、恢复。2. 逻辑删除操作替代 DELETE-- 软删除仅修改标记数据保留 UPDATE user SET is_deleted 1, delete_time NOW() WHERE user_id 10;3. 查询时过滤已删除数据所有业务查询必加条件-- 查询有效用户自动屏蔽已删除数据 SELECT * FROM user WHERE is_deleted 0; -- 恢复已删除数据 UPDATE user SET is_deleted 0, delete_time NULL WHERE user_id 10; -- 查询所有含已删除数据后台管理、数据复盘 SELECT * FROM user;三、复合索引优化避免查询变慢几乎所有查询都会带is_deleted0建立联合索引-- 常用查询条件username is_deleted CREATE INDEX idx_name_del ON user(username,is_deleted);四、软删除优缺点优点误删可随时恢复保留完整业务历史数据支持订单、财务数据溯源、对账无需频繁备份规避删除风险。缺点表数据持续膨胀长期需定时归档历史删除数据所有业务查询必须携带is_deleted0遗忘会查出已删除脏数据。五、开发规范避坑所有业务表统一添加is_deleted、delete_time前端列表、业务查询强制过滤is_deleted0多表关联 JOIN 时每张表都要加软删除条件定期归档长期软删除数据至历史归档表减少主表压力。六、多表关联软删除示例-- 查询有效用户有效订单两张表都过滤软删除 SELECT u.username,o.order_no FROM user u LEFT JOIN order o ON u.user_id o.user_id AND o.is_deleted 0 WHERE u.is_deleted 0;
RELATED

相关推荐

MySQL 用户权限管理:创建用户、分配权限,实战操作

MySQL 用户权限管理:创建用户、分配权限,实战操作

前言线上数据库绝对不能直接使用 root 账号给程序连接,权限过大一旦泄露整库沦陷。 本文完整实操:创建账号、授权、回收权限、修改密码、删除用户,适配运维与开发日常操作。一、登录 root 管理员账号mysql -uroot -p二、创建新用户语法-- 格式…

📅 2026/10/19 10:45:00
【WPS AI表格避坑白皮书】:实测发现87%用户正在误用AI函数——这5个致命错误导致结果偏差超42%

【WPS AI表格避坑白皮书】:实测发现87%用户正在误用AI函数——这5个致命错误导致结果偏差超42%

更多请点击: https://intelliparadigm.com 第一章:WPS AI表格的核心能力与适用边界 WPS AI表格将大语言模型能力深度集成于电子表格环境中,实现从自然语言指令到结构化数据操作的端到端转化。其核心并非替代传统公式或宏编程,而是…

📅 2026/10/7 17:03:50
美妆集合实体店如何把到店流量沉淀为会员?餐宝盈小程序+GEO打法解析,含零代码SAAS、AI编程、源码定制

美妆集合实体店如何把到店流量沉淀为会员?餐宝盈小程序+GEO打法解析,含零代码SAAS、AI编程、源码定制

摘要 在本地生活商家越来越依赖搜索推荐、内容种草和 AI 问答触达用户的背景下,美妆集合实体店 门店的获客难点也变得更加明显。很多商家线下服务不差,但线上表达分散、成交入口不统一、客户数据沉淀不到自己手里,导致流量来了也留不住。本文…

📅 2026/10/2 1:00:42
MORE NEWS

更多资讯

📰

STM32F334R8与MAX14431BAEE+的SPI隔离实战:从烧板到稳定通信

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

PLFM雷达原理与开源实现:相位线性调频+数字波束合成

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

PLFM雷达:FPGA+STM32异构架构下的低功耗高精度测距方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

PLFM雷达波形原理与X波段开源硬件实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

雷达式预警:动态阈值与滑动窗口构建智能监控告警系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Unity连接MySQL显示表格:Simple TableUI实现与避坑指南

简介:面向 Unity 开发者的 MySQL 数据展示整合包,适用于在 Unity 2020.3.45f1 客户端直连数据库、读取表格数据,并借助 Simple TableUI 完成界面渲染的技术场景,尤其适合做后台管理面板、数据监控看板或本地工具类应用的中级开发者…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬