No funciona porque no se puede hacer de ese modo.
Un TRIGGER es una rutina en SQL, tal y como un Stored Procedure, pero con algunas restricciones, una de las cuales es no poder hacer otra operación DML sobre si misma...
En tu caso se puede hacer algo parecido:
Código MySQL:
Ver originalDELIMITER $$
SET NEW.
`status` = IF (OLD.
`quantity` > 0, 1, 0); DELIMITER ;