Xóa khỏi hai bảng cùng một lúc bằng Trình kích hoạt:
Các trình kích hoạt được sử dụng để thực thi tính toàn vẹn của dữ liệu trong các bảng. Bạn có thể sử dụng trình kích hoạt để xóa khỏi bất kỳ số lượng bảng nào cùng một lúc.
Trước khi khởi tạo trình kích hoạt, chúng ta cần tạm thời thay đổi toán tử dấu phân tách mysql vì trình kích hoạt sử dụng dấu chấm phẩy ;
toán tử để chỉ định nhiều lệnh sql trong trình kích hoạt.
Bước 1 Thay đổi dấu phân cách hiện tại:
delimiter $$
Bước 2 Tạo trình kích hoạt:
CREATE TRIGGER `blog_before_delete`
AFTER DELETE ON `blog`
FOR EACH ROW
BEGIN
DELETE FROM blog_tags where blogid = OLD.id;
DELETE FROM blog_comments where blogid = OLD.id;
END
$$
Bước 3 Khôi phục dấu phân cách trước đó:
delimiter ;
Giải thích:
OLD
là một từ khóa nội dung và đề cập đến hàng trong bảng blog mà chúng tôi đang xóa. Mysql chạy trình kích hoạt blog_before_delete
bất cứ khi nào chúng tôi xóa một mục trong bảng blog. Tôi kích hoạt không thành công, sau đó xóa được khôi phục lại. Điều này giúp đảm bảo Tính nguyên tử, tính nhất quán, tính cách ly và độ bền
trong cơ sở dữ liệu của chúng tôi.