यहां तक कि अगर आप ट्रिगर के बाद का उपयोग करते हैं, तो भी पंक्ति अभी तक प्रतिबद्ध नहीं है। लेकिन sys_exec() PHP स्क्रिप्ट के बाहर निकलने तक वापस नहीं आता है, इसलिए AFTER ट्रिगर पूरा नहीं हो सकता है, इसलिए आप INSERT भी नहीं कर सकते।
यह डिजाइन द्वारा है। आखिरकार, आप एक ही लेन-देन में अधिक संचालन कर सकते हैं, या आप लेनदेन को वापस ले सकते हैं। ट्रिगर से बाहरी प्रक्रियाओं को लागू करने में यही समस्या है:बाहरी प्रक्रियाएं डेटाबेस में लेनदेन के दायरे में डेटा नहीं देख सकती हैं।
आपको यह कार्य ट्रिगर के साथ नहीं करना चाहिए। सबसे अच्छा, आपको "ध्वज" कॉलम सेट करने के लिए ट्रिगर का उपयोग करना चाहिए और फिर ध्वज सेट के साथ पंक्तियों को देखने के लिए बाहरी प्रक्रिया लिखना चाहिए और फिर उस PHP स्क्रिप्ट का आह्वान करना चाहिए। इस तरह केवल सफलतापूर्वक डाली गई और प्रतिबद्ध पंक्तियों को ही संसाधित किया जाएगा।