Votre déclencheur peut être facilement converti en formulaire à déclaration unique :
CREATE TRIGGER myTrigger
BEFORE INSERT
ON myTable
FOR EACH ROW
SET NEW.my_timestamp = COALESCE(NEW.my_timestamp, NOW());
qui n'a pas besoin de réassigner le délimiteur.
Si NULL est inséré dans cette colonne parce que cette colonne n'est pas répertoriée dans la liste des colonnes de la requête INSERT, vous pouvez simplement utiliser DEFAULT CURRENT_TIMESTAMP
dans la définition de colonne et le déclencheur n'est pas nécessaire. Mais si la valeur NULL est définie explicitement, cette méthode n'est pas applicable.