Loading

Mysql的安全更新模式sql_safe_updates

一、目的

mysql安全模式sql_safe_updates是为了防止我们在操作表时的误操作,把全表删除了或者更新了。

二、查询开启状态

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子句中列可以不是索引列)

posted @ 2021-04-21 16:55  IT搬瓦工  阅读(1825)  评论(0)    收藏  举报