आपके ट्रिगर को आसानी से सिंगल-स्टेटमेंट फॉर्म में बदला जा सकता है:
CREATE TRIGGER myTrigger
BEFORE INSERT
ON myTable
FOR EACH ROW
SET NEW.my_timestamp = COALESCE(NEW.my_timestamp, NOW());
जिसे सीमांकक पुन:असाइन करने की आवश्यकता नहीं है।
यदि इस कॉलम में NULL डाला गया है क्योंकि यह कॉलम INSERT क्वेरी की कॉलम सूची में बिल्कुल भी सूचीबद्ध नहीं है, तो आप बस DEFAULT CURRENT_TIMESTAMP
का उपयोग कर सकते हैं। कॉलम परिभाषा में, और ट्रिगर की आवश्यकता नहीं है। लेकिन अगर NULL मान स्पष्ट रूप से सेट किया गया है तो यह विधि लागू नहीं होती है।