Na sua instrução INSERT na trigger Libary_Update você tem a seguinte linha:
WHERE subtree.`ancestor` = NEW.`iD`
mas você não está atualizando o campo ID, então não acho que você terá um valor NEW.iD. Essa linha deve usar OLD.iD em vez disso?
WHERE subtree.`ancestor` = NEW.`iD`