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

सॉर्ट/ऑर्डर कॉलम को अपडेट करने के लिए ट्रिगर बनाना

मुझे लगता है कि वर्कअराउंड इसे पहले ट्रिगर बनाना है और रिकॉर्ड डालने से पहले रिकॉर्ड को अपडेट करना है।

तो

CREATE
/*!50017 DEFINER = 'admin'@'%' */
TRIGGER `trigger_liability_detail_after_insert` BEFORE INSERT ON `liability_detail` 
    FOR EACH ROW BEGIN
    DECLARE SortOrder INT;
    IF NEW.liability_category_id = 1 OR NEW.liability_category_id = 2 THEN

    SET NEW.seq = 1 + IFNULL((SELECT MAX(seq) FROM liability_detail WHERE analysis_id = new.analysis_id AND liability_category_id IN (1, 2)), 0);
    END IF;
    END;
$$

यह एक त्वरित कॉपी/पेस्ट था, लेकिन यह कुछ इसी तरह का होना चाहिए।



  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. जुड़ने पर बड़े डेटासेट को क्वेरी करना (15+ मिलियन पंक्तियाँ)

  3. एक MySQL डेटाबेस में UTF-8 स्ट्रिंग कॉन्फ़िगरेशन परिवर्तन के बाद गड़बड़ हो गई

  4. वर्चर में पिछली सफेद जगह की तुलना में विचार किया जाना चाहिए

  5. Amazon MySQL RDS प्रमाणपत्र कैसे प्राप्त करें