不删除记录的表CRUD的常见处置

为什么不删除记录,因为这些记录只是暂时不用了,以后还是有可能会用到的,比如说统计;另外一些主键外键依赖级联删除的场合也不好真删的,容易批量删除。真删了就不容易恢复回来了。

一般做法是,增加一个available字段,int类型,不用设置为0,用设置为1。默认值为1.

查询时,用select * from table where available=1.

删除时,用update table set available=0 where id=XX

修改与available字段无关

增加时与available字段无关,让它自动取默认值即可。

这个处置没增加多少工作量,却在故障恢复和还原时能让人安心一些。

时间: 2024-09-19 09:56:27

不删除记录的表CRUD的常见处置的相关文章

单表的更新UPDATE和删除记录DELETE

当把记录写成功之后,也许我们还会如下操作.比如,记录在书写的过程中字段是错误的.或者,我们想改下字段值.那么,我们需要update关键字. update分为单表更新和多表更新. 一.UPDATE语句 UPDATE语句其实有两种方式,分别是单表更新和多表更新,多表更新等到后面我们学完连接以后再去学习,所以今天我们先来学习单表更新,我们先来看一下语法结构: 更新记录(单表更新) UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1=

【SqlServer】【问题收集】删除同一张表中完全相同的记录

1   概述 在Sqlserver中,当通过SqlServer设计器删除同一张表中两条完全相同的记录时,会弹出如下提示: 点击“是” 弹出如下提示,不让删除 2   问题解决 这个问题很简单,用DELETE语句删除即可. 如果清除表格所有数据 DELETE EmployeeInfo 如果仅仅删除相同的记录 DELETE EmployeeInfo WHERE EmployyeID='NX001' 3   版权 感谢您的阅读,若有不足之处,欢迎指教,共同学习.共同进步. 博主网址:http://ww

Asp.Net MVC4入门指南(9):查询详细信息和删除记录

在本教程中,您将查看自动生成的Details和Delete方法. 查询详细信息和删除记录 打开Movie控制器并查看Details方法. public ActionResult Details(int id = 0) { Movie movie = db.Movies.Find(id); if (movie == null) { return HttpNotFound(); } return View(movie); } Code First 使得您可以轻松的使用Find方法来搜索数据.一个重要

使用DataSet数据集删除记录

使用DataSet删除记录和使用DataSet更新记录非常的相似,DataSet删除记录的步骤如下所示. q  创建一个Connection对象. q  创建一个DataAdapter对象. q  初始化适配器. q  使用数据适配器的Fill方法执行SELECT命令,并填充DataSet. q  执行SqlCommandBuilder方法生成UpdataCommand方法. q  创建DataTable对象并指定相应的DataSet中的表. q  创建DataRow对象并查找需要修改的相应行.

MySQL外键及级联删除 && 表的存储引擎与创建索引 && 删除数据库和表

Messages表: mysql>create table Messages( ->message_id int auto_increment primary key, ->user_name varchar(50) not null, ->author_id int not null, ->body text, ->forum_id int not null); Forums表: mysql>create table Forums( ->forum_id

MySQL多表&使用JDBC完成分类表CRUD的操作

外键 现在有两张表“分类表”和“商品表”,为了表明商品属于哪个 类别,通常情况下,我们将在商品上添加一列,用来存放分类的cid信息,此列成为外键. 此时,分类表 category 称作主表,cid 成为主键.商品表 products 成为从表,category_id 成为外键. 通过主表和从表的外键描述主外键的关系,呈现的就是一对多的关系. 外键特点 1. 从表外键的值是对主键的引用. 2. 从表外键类型必须与主表主键类型一致. 声明外键约束 语法: alter table 从表 add[con

如何记录数据表信息的变更

在操作数据记录时,对重要的数据,我们需要记录每一次的变更,有没有好的方法呢? 在通用权限管理系统中提供了记录数据表信息变更的方法. 一.先看看效果截图 二.再看看修改记录表的表结构 三.对该表访问的业务类 1 public partial class ModifyRecordManager : BaseManager, IBaseManager 2 { 3 /// <summary> 4 /// 构造函数 5 /// </summary> 6 public ModifyRecord

mysql delete删除记录数据库空间不减少问题解决方法

记得在中学时学计算机时老师就告诉我delete删除记录只是给数据库中的记录加一个删除标识了,这样数据库空间并不是减少了,当时没想这么多,昨天发现一个数据库利用delete 删除之后容量没变,后来百度了一下发现了下面一站长分享的文件,写得非常的不错,整理一下给各位参考. 今天空间商告诉我数据库空间满了,检查了一下,发现网站用户行为记录数据表竟然占了20多MB.积累了半年了,该删除释放一下空间了.果断delete之后发现数据库空间竟然没少,虽然数据记录数是零. 原来这是因为删除操作后在数据文件中留下

(笔记)Mysql命令delete from:删除记录

delete from命令用于删除表中的数据. delete from命令格式:delete from 表名 where 表达式 例如,删除表 MyClass中编号为1 的记录:    mysql> delete from MyClass where id=1; 请对比一下删除数据前后表的变化. FirstName LastName Age Peter Griffin 35 Glenn Quagmire 33 下面以PHP代码为例删除 "Persons" 表中所有 LastNam