एक row
. में ट्रिगर आपके पास संशोधित की जा रही पंक्ति के दो संस्करणों तक पहुंच है:OLD
पंक्ति को समाहित करता है क्योंकि यह था (यदि यह अस्तित्व में है), और NEW
पंक्ति को समाहित करता है जैसा कि यह होगा (अगर यह मौजूद रहेगा।)
अपने ट्रिगर को आपके बताए अनुसार काम करने के लिए, आपको WHERE
. की शर्त लगानी होगी NEW
. के मानों का उपयोग करते हुए क्लॉज , इस तरह:
CREATE TRIGGER update_loyalty_points
AFTER INSERT ON CWUserOwnsGame
FOR EACH ROW
UPDATE CWUsers
SET loyaltyPoints = loyaltyPoints +
(SELECT loyaltyPoints
FROM CWGameList
WHERE gameConsole = NEW.cName
AND gameName = NEW.gName)
WHERE username = NEW.uName;
मैंने मान लिया है कि आपने तालिकाओं के बीच लगातार अपने कॉलम नाम दिए हैं। ध्यान दें कि NEW
. में सही कॉलम CWOwnsGame
. में कॉलम के समान नाम हैं ।