Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Xóa bản ghi cụ thể từ bảng MySQL bằng AND trong WHERE

Xóa bản ghi với nhiều điều kiện dùng AND trong MySQL

Sử dụng DELETE kết hợp WHERE với toán tử AND để xóa chính xác bản ghi mong muốn.

Tạo bảng và dữ liệu

mysql> create table DemoTable ( 
    Id int, 
    Name varchar(20) 
); 
Query OK, 0 rows affected (0.70 sec)
mysql> insert into DemoTable values(101,'Chris'); 
mysql> insert into DemoTable values(102,'David'); 
mysql> insert into DemoTable values(103,'Bob');

Dữ liệu ban đầu

+------+-------+ 
| Id   | Name  | 
+------+-------+ 
| 101  | Chris | 
| 102  | David | 
| 103  | Bob   | 
+------+-------+

Xóa bản ghi Id=102 VÀ Name='David'

mysql> delete from DemoTable where Id=102 and Name='David'; 
Query OK, 1 row affected (0.20 sec)

Kết quả sau xóa

+------+-------+ 
| Id   | Name  | 
+------+-------+ 
| 101  | Chris | 
| 103  | Bob   | 
+------+-------+

Tại sao dùng AND? Đảm bảo an toàn - chỉ xóa khi CẢ HAI điều kiện đều đúng. Nếu chỉ dùng WHERE Id=102 thì vẫn xóa được, nhưng thêm Name='David' là lớp bảo vệ thứ hai tránh xóa nhầm nếu Id bị trùng lặp (do thiếu khóa chính).

Lưu ý: Luôn chạy SELECT trước với cùng điều kiện WHERE để xác nhận bản ghi sẽ bị xóa.