对于只进行逻辑删除的表,如

CREATE TABLE `pics` (

`pid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,

`aid` bigint(20) unsigned NOT NULL,

`pic_url` varchar(255) NOT NULL,

`is_cover` tinyint(1) default 0,

`is_local` tinyint(1) default 1,

`type` int(10) unsigned default 0,

`description` text,

`ext` text,

`uid` bigint(20) unsigned NOT NULL,

`uip` int(10) unsigned default 0,

`create_time` int(10) unsigned default 0,

`update_time` int(10) unsigned default 0,

`is_audited` tinyint(1) default 0,

`is_deleted` tinyint(1) default 0,

PRIMARY KEY (`pid`),

KEY `aid` (`aid`,`create_time`),

KEY `idx_user_time_del` (`uid`,`create_time`,`is_deleted`),

KEY `idx_user_uptime_del` (`uid`,`update_time`,`is_deleted`),

KEY `idx_time_del` (`create_time`,`is_deleted`),

KEY `idx_uptime_del` (`update_time`,`is_deleted`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

建议

pics表中只存储未删除的数据,不需要is_delete字段

另建一张表存储删除的数据,如pic_d

用户删除的话就把记录从pics中删除,插入到pic_d中,myisam表引擎即可,好处不言而喻

CREATE TABLE `pics_d` (

`pid` bigint(20) ,

`aid` bigint(20) unsigned NOT NULL,

`pic_url` varchar(255) NOT NULL,

`is_cover` tinyint(1) default 0,

`is_local` tinyint(1) default 1,

`type` int(10) unsigned default 0,

`description` text,

`ext` text,

`uid` bigint(20) unsigned NOT NULL,

`uip` int(10) unsigned default 0,

`create_time` int(10) unsigned default 0,

`update_time` int(10) unsigned default 0,

`is_audited` tinyint(1) default 0,

`is_deleted` tinyint(1) default 0

) ENGINE=Myisam DEFAULT CHARSET=utf8;

mysql逻辑删除的问题_数据库表涉及-逻辑删除相关推荐

  1. 数据库表初始化,删除所有数据后主键ID从1开始

    数据库表初始化,删除所有数据后主键ID从1开始 语法:TRUNCATE TABLE "表格名" 例子:truncate table testtable 转载于:https://ww ...

  2. mysql删除有关联的数据库表_【数据库】mysql如何删除关联表

    mysql数据库中,表与表之间进行关联之后,就不可随意的进行删除操作,否则会影响所有关联表之间的结构,那么如何安全的删除关联表呢,让我们来了解一下. 推荐课程:MySQL教程. 1. 删除表的外键约束 ...

  3. mysql 字段名称规范_数据库表及字段命名规范

    数据库设计表及字段命名规范(我整理的,望大家多多提建议) 1.数据库表命名规范: (1)表名前应该加上前缀,表的前缀一个用系统或模块的英文名称缩写,前缀全部大写或首字母大写,表名中包含的单词首字母大写 ...

  4. MySQL删除空值语句_数据库语句sql 删除空记录

    最简单删除SQL Server中所有数据的方法 原文:最简单删除SQL Server中所有数据的方法 最简单删除SQL Server中所有数据的方法   编写人:CC阿爸   2014-3-14 其实 ...

  5. ezdml 支付mysql 吗_数据库表设计工具EZDML使用教程

    表结构设计器(EZDML) 这是一个数据库建表的小软件,可快速的进行数据库表结构设计,建立数据模型.类似大家常用的数据库建模工具如PowerDesigner.ERWIN.ER-Studio和Ratio ...

  6. mysql的表面sno大全_学生表学号sno数据库

    Microsoft SQL Server 2005习题汇总小结 先建student ,course,sc表: CREATE TABLE Student ( Sno     char(7)   PRIM ...

  7. MySQL按名字查询所有信息_数据库小记:根据指定名称查询数据库表名及根据指定名称查询数据库所有表中的字段名称(支持mysql/postgre)...

    注意:本篇文章仅适用于mysql和postgre这两种数据库 1.查询数据库中所有表名及对应表的详细信息 select * from INFORMATION_SCHEMA.tables 2.根据指定名 ...

  8. 实验1 在MySQL创建数据库及表_数据库表的创建、管理和数据操作(实验一),数据库创建...

    数据库表的创建.管理和数据操作(实验一),数据库创建 今天我们就以实验的形式对表的创建.管理和数据操作进行学习,上课吧. [实验目的]:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识. ...

  9. mysql表空间名字查询_数据库表空间信息查询

    数据库表空间信息查询 --查看表空间的名称及大小 www.2cto.com SELECT T.TABLESPACE_NAME, ROUND(SUM(D.BYTES / (1024 * 1024)), ...

最新文章

  1. JAVA设计模式初探之——装饰者模式
  2. gdiplus判断一个点是否在圆弧线上_上挑眼型会更显老吗?杨丞琳和张雨绮示范了2条不同路线...
  3. git stash 个人理解
  4. linux系统怎么安装pr,Linux安装后的配置
  5. 计算机网络画出发送窗口变化,全国2010年7月自考计算机网络原理试题及答案
  6. MySQL高可用实现:主从结构下ProxySQL中的读写分离
  7. 续:跨平台版本迁移之 XTTS 方案操作指南
  8. opencv4 c++ 提取图片中的白色区域_【从零学习OpenCV 4】点集拟合
  9. Hbase roekey设计入门
  10. PHP7通过yum源安装及性能测试
  11. 使用deque模块固定队列长度,用headq模块来查找最大或最小的N个元素以及实现一个优先级排序的队列...
  12. VMWARE 之 vSphere vCenter 安装基本配置
  13. 【C++】字体文件解析(FreeType)
  14. 【扩频通信】第五章 扩频信号解扩和解调
  15. 小孩子都喜欢的卡通影视角色原来是用maya软件制作出来的
  16. 程序员的成长课-读后感
  17. 如何解决Win10账户没有了管理员权限
  18. 集合(二):Set : HashSet; LinkedHashSet; TreeSet
  19. 搭建mysql 主从复制The slave I/O thread stops because master and slave have equal MySQL server UUIDs
  20. 黑来古:TO B视角看“创作者”、“广告主”、“营销人”

热门文章

  1. [mmu/cache]-ARM MMU的学习笔记-一篇就够了
  2. linux kernel中的virt_to_phys代码解读
  3. [crypto]-53-openssl命令行的使用(aes/rsa签名校验/rsa加密解密/hmac)
  4. 递归二分查找时间复杂度、空间复杂度和稳定性
  5. 使用 pg_dump 迁移 postgresql
  6. 【内网渗透工具】炫彩蛇安装教程
  7. 【安全漏洞】简要分析复现了最近的ProxyShell利用链
  8. 世安杯CTF writeup
  9. 【基于Web攻击】的方式发现并攻击物联网设备,又是一个入狱小技巧
  10. 1.12 接口(Interface)的定义和实现