在安全模式下执行 MySQL 删除操作?
要以安全模式删除,可使用以下查询 −
SET SQL_SAFE_UPDATES = 0;
为了理解以上查询,让我们创建一个表。以下是创建表的查询 −
mysql> create table SafeDeleteDemo −> ( −> Price int −> ); Query OK, 0 rows affected (0.50 sec)
利用插入命令在表中插入一些记录。查询如下 −
mysql> insert into SafeDeleteDemo values(100); Query OK, 1 row affected (0.11 sec) mysql> insert into SafeDeleteDemo values(200); Query OK, 1 row affected (0.19 sec) mysql> insert into SafeDeleteDemo values(300); Query OK, 1 row affected (0.09 sec) mysql> insert into SafeDeleteDemo values(500); Query OK, 1 row affected (0.14 sec) mysql> insert into SafeDeleteDemo values(1000); Query OK, 1 row affected (0.10 sec) mysql> insert into SafeDeleteDemo values(150); Query OK, 1 row affected (0.11 sec)
在删除记录之前,显示表中的所有记录。查询如下 −
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; Query OK, 0 rows affected (0.00 sec)
现在开始删除表中的一些记录。我们仍处于安全模式下 −
mysql> delete from SafeDeleteDemo where Price >=500; Query OK, 2 rows affected (0.14 sec)
现在,可检查在删除记录之后表中存在多少条记录。查询如下 −
mysql> select *from SafeDeleteDemo;
以下是显示我们已成功删除 >= 500 条记录的输出 −
+-------+ | Price | +-------+ | 100 | | 200 | | 300 | | 150 | +-------+ 4 rows in set (0.00 sec)
现在借助相同的 SET 命令,可以移除安全模式下的删除操作。查询如下 −
mysql> SET SQL_SAFE_UPDATES = 1; Query OK, 0 rows affected (0.00 sec)
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP