多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ### 一、目的 mysql安全模式sql\_safe\_updates是为了防止我们在操作表时的误操作,把全表删除了或者更新了。 ### 二、查询开启状态 ```sql mysql> show variables like 'sql_safe_updates'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | sql_safe_updates | OFF | +------------------+-------+ ``` 结果为OFF表示,没有开启,如果为ON表示开启了 ### 三、如何开启或关闭安全模式 #### 1\. 针对当前会话 这种方式只针对当前会话连接有效,不影响其他会话连接 1. 开启安全模式 ``` set sql_safe_updates = 1; ``` 1. 关闭安全模式 ``` set sql_safe_updates = 0; ``` ### 四、开启安全模式后的限制有哪些 #### 1. update语句必须满足如下条件之一才能执行成功 1) 使用where子句,并且where子句中列必须为prefix索引列   2) 使用limit   3) 同时使用where子句和limit(此时where子句中列可以不是索引列) #### 2. delete语句必须满足如下条件之一才能执行成功 1) 使用where子句,并且where子句中列必须为prefix索引列   2) 同时使用where子句和limit(此时where子句中列可以不是索引列)