MYSQL安全模式SQL语法需要注意的地方
2024-10-11 21:34:30
MYSQL安全模式
Mysql版本:5.7.
背景:
为了避免在执行delete、update将全表数据清空或者覆盖修改,在新项目营销云中开启了mysql的安全模式。
安全模式要求不能对非主键的条件查询做update和delete操作
SET global SQL_SAFE_UPDATES = ;
开启后出现的报错:
在修改跟删除数据时候,没有加where语句、或者加了where语句 where中没有使用索引列,导致SQL执行失败,后台项目报错,报错内容:
[Err] - You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column 规则:
索引不能使用唯一索引,使用唯一索引会报错 如果设置了sql_safe_updates=,那么update语句必须满足如下条件之一才能执行成功
)使用where子句,并且where子句中列必须包含索引列 反面教材:
update mkc_com_project set name='asdasd' where name='五4545'; )使用limit
)同时使用where子句和limit(此时where子句中列可以不是索引列) delete语句必须满足如下条件之一才能执行成功
)使用where子句,并且where子句中列必须包含索引列(除唯一索引)
反面教材:
delete from mkc_com_project where id= ; )同时使用where子句和limit(此时where子句中列可以不是索引列)
最新文章
- window.location事件
- Echarts-画堆积柱状图,折线图
- Winsock 入门 计算校验和 示例
- FFmpeg-20160506-snapshot-bin
- IIS服务器下301跳转是怎么样实现的?
- datatable转json
- [原]用C#模拟实现扑克牌发牌、排序程序…
- 最好用的mysql密码忘记的解决方法
- GridView”的控件 必须放在具有 runat=server 的窗体标记内 “错误提示”
- window.open打开新窗体并用post方式传参
- axis调用Web服务报axis unexpected wrapper element{XXXX}XXX错误的解决
- 洛谷P2486 染色
- 模块import,from ..import...
- how convert large HEX string to binary array ?
- Oracle锁表查询和解锁方法
- JDBC选择数据库实例
- Java 集合框架(常用数据结构)
- 牛客网 牛客练习赛43 C.Tachibana Kanade Loves Review-最小生成树(并查集+Kruskal)+建虚点+读入挂
- OpenGL入门学习(转载)
- Android开发艺术探索读书笔记——进程间通信