Trong câu lệnh INSERT của bạn trong trình kích hoạt Libary_Update, bạn có dòng sau:
WHERE subtree.`ancestor` = NEW.`iD`
nhưng bạn không cập nhật trường ID nên tôi không nghĩ rằng bạn sẽ có giá trị NEW.iD. Dòng đó có thể sử dụng OLD.iD để thay thế không?