zoukankan      html  css  js  c++  java
  • MYSQL安全模式SQL语法需要注意的地方

    MYSQL安全模式
    Mysql版本:5.7.20
    
    背景: 为了避免在执行delete、update将全表数据清空或者覆盖修改,在新项目营销云中开启了mysql的安全模式。 安全模式要求不能对非主键的条件查询做update和delete操作 SET
    global SQL_SAFE_UPDATES = 1;
    开启后出现的报错: 在修改跟删除数据时候,没有加where语句、或者加了where语句 where中没有使用索引列,导致SQL执行失败,后台项目报错,报错内容: [Err]
    1175 - You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column 规则: 索引不能使用唯一索引,使用唯一索引会报错 如果设置了sql_safe_updates=1,那么update语句必须满足如下条件之一才能执行成功 1)使用where子句,并且where子句中列必须包含索引列 反面教材: update mkc_com_project set name='asdasd' where name='五4545'; 2)使用limit 3)同时使用where子句和limit(此时where子句中列可以不是索引列) delete语句必须满足如下条件之一才能执行成功 1)使用where子句,并且where子句中列必须包含索引列(除唯一索引) 反面教材: delete from mkc_com_project where id=22 ; 2)同时使用where子句和limit(此时where子句中列可以不是索引列)
  • 相关阅读:
    Hadoop学习路线图
    windows命令——taskmgr 1
    windows命令——explorer
    windows命令——taskkill
    struts tags
    jsp的 javascript中 嵌套 html 注释
    netstat
    没有、不愿、不能足够交流、沟通的开发、测试,将是悲剧
    linux java so 历险
    linux java 版本
  • 原文地址:https://www.cnblogs.com/byfboke/p/10882460.html
Copyright © 2011-2022 走看看