आप एक ट्रिगर से एक ही तालिका में सम्मिलित नहीं कर पाएंगे . मैं आपके ट्रिगर को एक प्रक्रिया से बदल दूंगा, और फिर प्रक्रिया के माध्यम से सभी स्थिति अपडेट को चैनल करूंगा:
CREATE PROCEDURE UpdateJobStatus(jobId INT, NewStatus NVARCHAR(50))
BEGIN
UPDATE job
SET `Status` = NewStatus
WHERE job_id = jobId;
IF NewStatus = 'COMPLETED' AND jobId <=6 THEN
INSERT INTO job(cycle_id, job_id, status)
SELECT cycle_id, job_id+1, 'WATING_TO_START'
FROM job
WHERE job_id = jobId;
END IF;
END;
यद्यपि प्रक्रिया को आपके कोड में कुछ संशोधन की आवश्यकता होगी (यानी आपको डेटा को सीधे अपडेट करने के बजाय प्रक्रिया को कॉल करने की आवश्यकता होगी), प्रक्रिया को अधिक स्पष्ट होने का लाभ है - पृष्ठभूमि में स्वचालित रूप से चीजों को करने वाले ट्रिगर गैर-सहज हो सकते हैं।