Использование DROP TRIGGER IF EXISTS - это как раз то, что нужно. Единственным недостатком является то, что если вы не знали о триггере, и он имеет точно то же имя (возможно, если следовать соглашениям об именах), то вы фактически потеряете определение и функциональные возможности, стоящие за ним.
будет ли создание триггера перезаписывать любой триггер с таким же именем?
Нет, на самом деле произойдет ошибка с ошибкой.