トリガーは簡単に単一ステートメント形式に変換できます:
CREATE TRIGGER myTrigger
BEFORE INSERT
ON myTable
FOR EACH ROW
SET NEW.my_timestamp = COALESCE(NEW.my_timestamp, NOW());
区切り文字の再割り当ては必要ありません。
この列がINSERTクエリの列リストにまったくリストされていないためにこの列にNULLが挿入された場合は、単にDEFAULT CURRENT_TIMESTAMP
を使用できます。 列定義で、トリガーは必要ありません。ただし、NULL値が明示的に設定されている場合、この方法は適用されません。