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子句中列可以不是索引列)
  • 相关阅读:
    【bzoj2115】[Wc2011] Xor
    【bzoj2460】[BeiJing2011]元素
    P2300 合并神犇 DP
    P1041 传染病控制 深搜
    P1038 神经网络 图论
    树状数组模板
    送外卖 状压DP
    士兵守卫(同P2016 战略游戏) 树形DP
    P1171 售货员的难题 喻队状压 DP
    P2062 分队问题 DP
  • 原文地址:https://www.cnblogs.com/byfboke/p/10882460.html
Copyright © 2011-2022 走看看