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子句中列可以不是索引列)
  • 相关阅读:
    构造方法
    构造方法的重载
    封装的使用及演示代码
    static的用法及作用
    javaWeb链接数据库进行增删改查
    java面向对象接口小结
    多线程总结
    mysql数据查询
    mysql条件查询
    mysql查询数据
  • 原文地址:https://www.cnblogs.com/byfboke/p/10882460.html
Copyright © 2011-2022 走看看