Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL ट्रिगर और SUM ()

इसे "म्यूटिंग टेबल" समस्या के रूप में जाना जाता है। इसका मुख्य कारण यह है कि एक पंक्ति ट्रिगर को उसी तालिका में अन्य पंक्तियों तक पहुँचने की अनुमति नहीं है क्योंकि इस बात की कोई गारंटी नहीं है कि पंक्तियों को अन्य बातों के अलावा, एक विशिष्ट क्रम में अपडेट किया जाएगा।

सबसे पहले, आपको वास्तव में Total_income को स्टोर करने की कोशिश नहीं करनी चाहिए, जब आप जरूरत पड़ने पर आसानी से इसकी गणना कर सकते हैं। उस ने कहा, मुझे लगता है कि आप कुछ ऐसा करके जो चाहें कर सकते हैं

CREATE TRIGGER family_income_update
  AFTER UPDATE ON family
  FOR EACH ROW 
BEGIN
  UPDATE student
    SET total_income = total_income + (NEW.income - OLD.income)
    WHERE student.id_student = NEW.id_student;
END;

student.total_income . को संशोधित करने का विचार है इसके पिछले मान के सापेक्ष, क्योंकि आप केवल family.income . का संदर्भ दे सकते हैं इसके पिछले मान के सापेक्ष।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ऑनलाइन होटल बुकिंग में रेस कंडीशन को कैसे रोकें?

  2. pymysql.connect निष्पादित करते समय त्रुटि Keyerror 255

  3. xampp में mysql पांच सेकंड में शुरू और बंद हो जाता है

  4. MYSQL दो कॉलम में DISTINCT मानों का चयन करें

  5. php श्रेणी, उप श्रेणी वृक्ष