在安全模式下执行MySQL删除?

要在安全模式下删除,您可以使用以下查询-

SET SQL_SAFE_UPDATES = 0;

为了理解上面的查询,让我们创建一个表。以下是创建表的查询-

mysql> create table SafeDeleteDemo
   −> (
   −> Price int
   −> );

借助insert命令将一些记录插入表中。查询如下-

mysql> insert into SafeDeleteDemo values(100);

mysql> insert into SafeDeleteDemo values(200);

mysql> insert into SafeDeleteDemo values(300);

mysql> insert into SafeDeleteDemo values(500);

mysql> insert into SafeDeleteDemo values(1000);

mysql> insert into SafeDeleteDemo values(150);

在删除记录之前,显示表中的所有记录。查询如下-

mysql> select *from SafeDeleteDemo;

以下是输出-

+-------+
| Price |
+-------+
|   100 |
|   200 |
|   300 |
|   500 |
|  1000 |
|   150 |
+-------+
6 rows in set (0.00 sec)

现在,借助SET命令在安全模式下删除。查询如下-

mysql> SET SQL_SAFE_UPDATES = 0;

首先删除表中的一些记录。我们处于安全模式-

mysql> delete from SafeDeleteDemo where Price >=500;

现在,您可以在删除记录后检查表中存在多少记录。查询如下-

mysql> select *from SafeDeleteDemo;

以下是显示我们已成功删除> = 500的记录的输出-

+-------+
| Price |
+-------+
|   100 |
|   200 |
|   300 |
|   150 |
+-------+
4 rows in set (0.00 sec)

现在,您可以借助同一SET命令在安全模式下删除delete。查询如下-

mysql> SET SQL_SAFE_UPDATES = 1;