Tôi đọc số này article nhưng có vẻ như không hoạt động để xóa. Tôi đã nhận lỗi này khi cố gắng để tạo ra một kích hoạt:Làm thế nào để viết trình kích hoạt để hủy bỏ xóa trong MYSQL?
Executing SQL script in server
ERROR: Error 1363: There is no NEW row in on DELETE trigger
CREATE TRIGGER DeviceCatalog_PreventDeletion
BEFORE DELETE on DeviceCatalog
FOR EACH ROW
BEGIN
DECLARE dummy INT;
IF old.id = 1 or old.id =2 THEN
SELECT * FROM DeviceCatalog WHERE DeviceCatalog.id=NEW.id;
END IF;
END;
SQL script execution finished: statements: 4 succeeded, 1 failed
NEW.fieldname tồn tại khi bạn chèn hoặc cập nhật bản ghi; khi bạn xóa không có gì mới đang đến cơ sở dữ liệu !!! Lỗi rõ ràng: bạn không thể sử dụng NEW.id vì NEW không được phép trong trình kích hoạt DELETE – Marco
Theo bài viết được liên kết, statatement được chọn sẽ không thành công - câu lệnh chọn của bạn đọc giống như thực tế và không giống như 'select into dummy 'từ bài viết có ý định thất bại. – miherrma