Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MySQL:如何防止删除?

MySQL:如何防止删除?
EN

Stack Overflow用户
提问于 2011-11-04 21:10:32
回答 5查看 5.4K关注 0票数 3

一旦在特定表中输入了一条记录,我想我永远不会希望它被删除。这些记录的存在是为了记录历史上的事情。我用的是MySQL,InnoDB。有什么方法可以防止应用层意外删除该表吗?如果是这样的话,这是一个好的方法吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-11-04 21:23:14

另一种选择是切换到历史表的ARCHIVE引擎。

这将防止对表执行任何删除或更新操作,并压缩数据。这种方法的一个(主要)缺点是您不能索引表上的列。

票数 1
EN

Stack Overflow用户

发布于 2011-11-04 21:12:10

如果您可以为您的用户设置权限,请不要授予删除权限。在某些情况下,这种做法是“必须的”,就像用于统计目的的表一样。因此,如果您的表用于实现其中一个目标,那么这是一种很好的方法。

票数 4
EN

Stack Overflow用户

发布于 2017-06-27 21:25:48

我使用一个触发器来检测删除,并做一些非法的事情,所以整个操作失败。例如:

代码语言:javascript
运行
AI代码解释
复制
CREATE TRIGGER protect_delete before delete ON protected_table 
FOR EACH ROW UPDATE non_existing_table SET non_existing_column=1;

因此,当有人尝试delete操作时,整个语句将失败。您还可以为non_existing_column和non_existing_table使用更好的名称。

例如,可以获得如下错误消息:

错误1146 (42S02):表'database.delete_restricted_on_tableX‘不存在

编辑:也可以创建更好的失败消息,请查看此处http://www.brokenbuild.com/blog/2006/08/15/mysql-triggers-how-do-you-abort-an-insert-update-or-delete-with-a-trigger/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8015762

复制
相关文章
如何删除MySQL用户帐户
MySQL允许您创建多个用户帐户并授予适当的权限,以便用户可以连接和管理数据库。如果不再需要用户帐户,则最好删除用户权限或完全删除用户帐户。
星哥玩云
2022/08/18
3.3K0
如何删除MySQL用户帐户
MySQL防止delete命令删除数据的两种方法
在sql中删除数据库中记录我们会使用到delete命令,这样如果不小心给删除了很难恢复了,下面我来总结一些删除数据但是不在数据库删除的方法。
用户4988085
2021/07/27
1.6K0
如何防止插入删除表造成的数据库死锁
在数据库中经常会遇到这样的情况:一个主表A,一个子表B,B表中包含有A表的主键作为外键。当要插入数据的时候,我们会先插入A表,然后获得A表的Identity,再插入B表。如果要进行删除操作,那么就先删除子表B,然后再删除主表A。在程序设计中,对两个表的操作是在一个事务之中完成的。
深蓝studyzy
2022/06/15
1.5K0
【说站】mysql如何删除索引
以上就是mysql删除索引的方法,希望对大家有所帮助。更多mysql学习指路:MySQL
很酷的站长
2022/11/23
2.6K0
MySQL 如何查找删除重复行?
第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一定义,或许你对“重复”的定义比这复杂,你需要对sql做些修改。本文要用到的数据样本:
芋道源码
2019/10/22
5.7K0
MySQL 如何查找删除重复行?
第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一定义,或许你对“重复”的定义比这复杂,你需要对sql做些修改。本文要用到的数据样本:
Bug开发工程师
2020/03/12
6.7K0
MySQL 如何查找删除重复行?
如何取消mysql授权并删除用户
如何查看授权的所有用户 SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; 撤销已经赋予给 MySQL 用户权限的权限。 revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可: revoke  all on *.* from 'root'@'192.168.0.197' ; REVOKE语句只能取消用户的权限,而不可以删除用户。即使取消了所有的权
程序员同行者
2018/06/22
6.4K3
MYSQL 如何删除表中重复数据
  可以看到上述表中id为4,5,6,8 是完全重复的数据,我们需要删除这些数据,我的逻辑是什么呢,就是每条数据分组后 取 id 最小的 那个 留下来,其余的进行删除
很酷的站长
2022/11/27
8.5K0
MYSQL 如何删除表中重复数据
MySQL如何删除#sql开头的临时表
巡检时发现服务器磁盘空间不足,通过查看大文件进行筛选是发现有几个#sql开头的文件,且存在超过100G及10G以上的文件。
俊才
2019/12/24
5.7K0
如何防止网络诈骗
网络诈骗是指犯罪分子通过编造虚假信息,设置骗局,对受害人实施远程、非接触式诈骗,诱使受害人给犯罪分子打款或转账的犯罪行为。
腾讯举报中心
2020/02/25
1.4K0
mysql怎么删除默认值_MySQL删除字段
2. 为t_test表添加字段nickname 语法:ALTER TABLE 表名 ADD 字段名字段类型
全栈程序员站长
2022/11/09
14K0
mysql怎么删除默认值_MySQL删除字段
mybatis-plus防止全表更新与删除
宁要好梨一个,不要烂梨一筐。积极肯干和忠心耿耿的人即使只有两三个,也比十个朝气沉沉的人强。——列宁 我们可以如下配置 @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); PaginationInnerInterceptor paginationInnerInterceptor =
阿超
2022/08/16
1.2K0
mybatis-plus防止全表更新与删除
【MySQL】如何最大程度防止人为误操作MySQL数据库?这次我懂了!!
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
冰河
2020/10/29
7400
mysql 批量删除
CREATE PROCEDURE del_line() BEGIN DECLARE count_line INT; /** 先删除索引提高删除速度*/ ALTER TABLE test_road_1.lebp_logistics_line DROP INDEX index_carrier_id, DROP INDEX index_state, DROP INDEX index_leave_city, DROP INDEX index_leave_city_area, DROP IND
好派笔记
2021/11/02
6.5K0
如何防止MySQL重复插入数据,这篇文章会告诉你
写在前面:2020年面试必备的Java后端进阶面试题总结了一份复习指南在Github上,内容详细,图文并茂,有需要学习的朋友可以Star一下! GitHub地址:https://github.com/abel-max/Java-Study-Note/tree/master
用户5546570
2020/09/21
9780
如何在 Linux 系统中防止文件和目录被意外的删除或修改
有时,我会不小心的按下 SHIFT+DELETE来删除我的文件数据。是的,我是个笨蛋,没有再次确认下我实际准备要删除的东西。而且我太笨或者说太懒,没有备份我的文件数据。结果呢?数据丢失了!在一瞬间就丢失了。
marsggbo
2020/03/06
5.3K0
如何在 Linux 系统中防止文件和目录被意外的删除或修改
mysql删除约束
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152773.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/12
4.7K0
mysql 多表删除
主表是有数据的,其他关联表不一定有数据,我们可以用left join 来关联删除的表。
全栈程序员站长
2022/07/20
3.8K0
MYSQL 删除语句
数据库存储数据,总会有一些垃圾数据,也会有一些不需要用的数据了,这些情况下,我们就可以删除这些数据,释放出一定的空间,给其他的数据使用
全栈程序员站长
2022/09/12
9.7K0
MYSQL 删除语句
如何防止MySQL数据库升级后性能下降|Vol 15
首先来说MySQL升级后性能下降,在我从事MySQL DBA这10多年中也遇到几次,而且排查难度比较大。这里给大家提供一个MySQL升级管管理方案供大家参考。内容较长,建议收藏后以方便查阅。
wubx
2021/07/15
9850
如何防止MySQL数据库升级后性能下降|Vol 15

相似问题

如何防止删除MySql中的默认行?

10

如何防止省略号被删除PHP MySQL

31

如何防止用户在mysql 8中删除列

112

如何防止删除父表记录时删除MySQL派生表记录?

11

如何防止Mysql数据库被更改/更新/删除?

221
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文