Computer >> Máy Tính >  >> Lập trình >> MySQL

Thực hiện xóa MySQL ở chế độ an toàn?

Để xóa ở chế độ an toàn, bạn có thể sử dụng truy vấn dưới đây -

SET SQL_SAFE_UPDATES = 0;

Để hiểu truy vấn trên, chúng ta hãy tạo một bảng. Sau đây là truy vấn để tạo bảng -

mysql> create table SafeDeleteDemo
   −> (
   −> Price int
   −> );
Query OK, 0 rows affected (0.50 sec)

Chèn một số bản ghi trong bảng với sự trợ giúp của lệnh insert. Truy vấn như sau -

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)

Hiển thị tất cả các bản ghi từ bảng trước khi xóa bản ghi. Truy vấn như sau -

mysql> select *from SafeDeleteDemo;

Sau đây là kết quả -

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

Bây giờ xóa dưới chế độ an toàn với sự trợ giúp của lệnh SET. Truy vấn như sau -

mysql> SET SQL_SAFE_UPDATES = 0;
Query OK, 0 rows affected (0.00 sec)

Bắt đầu với việc xóa một số bản ghi bảng ngay bây giờ. Chúng tôi đang ở chế độ an toàn -

mysql> delete from SafeDeleteDemo where Price >=500;
Query OK, 2 rows affected (0.14 sec)

Bây giờ bạn có thể kiểm tra xem có bao nhiêu bản ghi hiện diện trong bảng sau khi xóa bản ghi. Truy vấn như sau -

mysql> select *from SafeDeleteDemo;

Sau đây là kết quả hiển thị rằng chúng ta đã xóa bản ghi thành công> =500 -

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

Bây giờ bạn có thể xóa xóa trong chế độ an toàn với sự trợ giúp của cùng một lệnh SET. Truy vấn như sau -

mysql> SET SQL_SAFE_UPDATES = 1;
Query OK, 0 rows affected (0.00 sec)