MySQL cho phép tiền tố tên bảng cho cột trong mệnh đề WHERE: DELETE FROM table WHERE table.column = value.
Tạo bảng và dữ liệu
mysql> CREATE TABLE DemoTable(StudentName VARCHAR(100), StudentAge INT);
Query OK, 0 rows affected (0.81 sec)
mysql> INSERT INTO DemoTable VALUES
('Chris',21), ('Robert',20), ('David',22), ('Mike',24), ('Sam',19);
Query OK, 5 rows affected
Xóa với tiền tố tên bảng
mysql> DELETE FROM DemoTable WHERE DemoTable.StudentName = 'Robert'; Query OK, 1 row affected (0.12 sec)
Kết quả:
+-------------+------------+ | StudentName | StudentAge | +-------------+------------+ | Chris | 21 | | David | 22 | | Mike | 24 | | Sam | 19 | +-------------+------------+
Khi nào cần tiền tố bảng?
- Truy vấn đa bảng (JOIN, subquery) để tránh ambiguity
- Trigger, stored procedure tham chiếu nhiều bảng
- Thói quen tốt cho code rõ ràng, dễ bảo trì
Lưu ý: Với bảng đơn, WHERE StudentName = 'Robert' hoàn toàn tương đương và ngắn gọn hơn.