位置: 编程技术 - 正文

mysql利用参数sql_safe_updates限制update/delete范围详解(mysql参数表)

编辑:rootadmin

推荐整理分享mysql利用参数sql_safe_updates限制update/delete范围详解(mysql参数表),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql设置参数查询sql语句,mysql参数化查询,mysql参数表,mysql常用参数设置,mysql设置参数查询sql语句,mysql设置参数查询sql语句,mysql设置参数查询sql语句,mysql设置参数查询sql语句,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

大家应该都知道,我们在mysql运维中出现过不少因为update/delete条件错误导致数据被误更新或者删除的case,为避免类似问题的发生,可以用sql_safe_updates参数来对update/delete做限制。这个参数设置为on后,可防止因程序bug或者DBA手工误操作导致的整个表被更新或者删除的情况。下面话不多说了,来一起看看详细的介绍吧。

设置这个参数时需要注意一下几点:

a、设置前需要确认程序中所有的update和delete都符合sql_safe_updates的限制规范,不然程序会报错。

b、5.0,5.1都是session级别的,5.6是global&session级别;低版本的数据库只能在程序创建session时设置带上set sql_safe_updates=on;高版本的数据库可以直接set global set sql_safe_updates=on,设置完成后让程序重连后生效。

限制规范:

示例表结构:

1、update

a、报错条件:不带where、带where无索引、where条件为常量

不带where:update delay_monitor set Ftime=now();

带where无索引:update delay_monitor set Ftime=now() where Fgtid='test';

where条件为常量:update delay_monitor set Ftime=now() where 1;

b、执行条件:带where带索引、不带where+带limit、带where无索引+limit、带where有索引+limit、where条件为常量+limit

带where带索引:update delay_monitor set Ftime=now() where id=2;

不带where+带limit: update delay_monitor set Ftime=now() limit 1;

mysql利用参数sql_safe_updates限制update/delete范围详解(mysql参数表)

带where无索引+limit:update delay_monitor set Ftime=now() where Fgtid='test' limit 1;

带where有索引+limit:update delay_monitor set Ftime=now() where id =2 limit1;

where条件为常量+limit:update delay_monitor set Ftime=now() where 1 limit 1;

2、delete

相对于update,delelte的限制会更为严格;where条件为常量或者为空,将不予执行。

a、报错条件:不带where、带where无索引、不带where+带limit、where条件为常量、where条件为常量+limit

不带where:delete delay_monitor set Ftime=now();

带where无索引:delete delay_monitor set Ftime=now() where Fgtid='test';

不带where+带limit: delete delay_monitor set Ftime=now() limit 1;

where条件为常量:delete delay_monitor set Ftime=now() where 1;

where条件为常量+limit:delete delay_monitor set Ftime=now() where 1 limit 1;

b、执行条件:带where带索引、带where无索引+limit、带where有索引+limt

带where带索引:delete delay_monitor set Ftime=now() where id=2;

带where无索引+limit:delete delay_monitor set Ftime=now() where Fgtid='test' limit 1;

带where有索引+limit:delete delay_monitor set Ftime=now() where id =2 limit1;

总结如下表:key表示所有、const表示常量

操作 no where where key where nokey limit where nokey+limit where key+limit where const where const+limit delete NO YES NO NO YES YES NO NO update NO YES NO YES YES YES NO YES

总结

标签: mysql参数表

本文链接地址:https://www.jiuchutong.com/biancheng/348371.html 转载请保留说明!

上一篇:解析MySQL中存储时间日期类型的选择问题(mysql存储数据的原理)

下一篇:简析mysql字符集导致恢复数据库报错问题(mysql字符集的作用)

  • 如何查询企业税务状态
  • 股权转让如何进行资产评估的
  • acca b/f
  • 收不回来的装修钱怎么办
  • 转出未交增值税年末怎么转平
  • 无法上报季度财务报告
  • 事业单位补发以后的工资
  • 业务招待费可以开专票吗
  • 汇算清缴抵税和退税
  • 取得消费税出口退税款如何做会计处理?
  • 外币应收帐款汇兑损益现流附表
  • 食堂买的固定资产怎么帐务处理
  • 小规模纳税人工程服务的增值税率
  • 分支机构的固定资产转移如何处理?
  • 工程个人所得税扣除标准是多少
  • 卷式发票有税率吗
  • 旅游业要怎么进行差额征税处理
  • 资产基金科目如何选择
  • 对方用房子抵债会计怎么记账
  • 合同税率16%调整到13%怎么算
  • 合同银行账户与开票信息不一致会计如何处理
  • 房地产企业预收款什么时候确认收入
  • 建筑中小企业
  • 虚拟股份分红
  • 固定资产的确认条件有哪些
  • 企业分配利润的原则
  • 玫瑰小镇的玫瑰有什么用
  • koeids.dll
  • 将u盘格式化
  • 其他应收和其他应付可以共用吗
  • Treetop walkway in Hainich National Park, Thuringia, Germany (© mauritius images GmbH/Alamy)
  • 【已解决】VUE3+webpack >5报错问题
  • thinkphp验证码刷新
  • php简单加密
  • css width height
  • 3d reconstruction
  • web前端开发规范有哪些
  • 吸收合并的目的是什么
  • 企业所得税季报营业成本包括哪些
  • java中的常量是什么意思
  • ubuntu下使用SQLite3的基本命令
  • 公司处置汽车
  • 库存现金的使用限额规定
  • 小额收据报销
  • SQL SERVER 2000通讯管道后复用劫持
  • mysql中数据类型主要分为哪四种
  • 车间管理人员差旅费
  • 预收工程款的会计分录
  • 土地使用税减免税优惠
  • 滴滴打车开具的普通发票可以抵扣吗
  • 建筑企业收挂靠公司的管理费如何做账?
  • 不同税率的产品可以开在同一张发票上吗
  • 购置成本由什么构成
  • 专票网上抵扣流程
  • 工会经费计税依据是应发还是实发
  • 银行承兑汇票如何背书转让
  • 公司注销固定资产清理怎么做账务处理
  • mysql数据库简单介绍
  • sql语句的优化方式
  • navicate创建存储过程
  • win7防病毒设置在哪
  • win7系统怎么用
  • xp系统如何禁止开机启动软件
  • centos中如何安装软件
  • 进程rundll32停止工作
  • 电脑windows8怎么样
  • 批处理for命令详解
  • cocos2dx 3.0 quick lua transition action
  • python 源码解析
  • javascript的理解
  • 安卓中px,dp,sp的区别
  • 卷烟批发环节的消费税税率
  • 税务工作创新
  • 河南省郑州市巩义市籍贯怎么写
  • 蜀山区税务局工资待遇
  • 江苏单位医保如何查询
  • 青岛税务社保缴费下载平台
  • 消费税的征收范围口诀
  • 农村房屋改造问题向谁举报
  • 地税服务大厅上班时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设