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

MySQL डालने के बाद ट्रिगर स्वत:बढ़ा हुआ मान प्राप्त करता है, डालने के बाद अद्यतन फ़ील्ड मान अज्ञात कॉलम त्रुटि देता है

यह एक हैक नौकरी की तरह लगता है लेकिन मैं MySQL में निर्मित LAST_INSERT_ID() फ़ंक्शन का उपयोग करके इसे काम करने में सक्षम था।

CREATE TRIGGER `order_guide_insert_trigger`
BEFORE INSERT ON `order_guide`
FOR EACH ROW 
BEGIN
    IF NEW.Sort_Placement IS NULL THEN
        SET NEW.Sort_Placement = LAST_INSERT_ID() + 1;
    END IF;
END;

यह भी काम करता है और काम करने लगता है

CREATE TRIGGER `order_guide_insert_trigger`
BEFORE INSERT ON `order_guide`
FOR EACH ROW 
BEGIN
    IF NEW.Sort_Placement IS NULL THEN
        SET NEW.Sort_Placement = (SELECT ID FROM order_Guide ORDER BY id DESC LIMIT 1) + 1;
    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. MySQL एक ही सत्र आईडी वाले रिकॉर्ड की प्रतिध्वनि संख्या

  2. MYSQL IN स्टेटमेंट:

  3. MySQL कनेक्शन कई कनेक्शन त्रुटियों से क्यों अवरुद्ध है?

  4. ट्रिगर तालिका को नहीं पहचानता (किसी अन्य तालिका में सम्मिलित करने के लिए NEW.values ​​​​की सामग्री को कई पंक्तियों में विभाजित करने के लिए ट्रिगर)

  5. एक क्वेरी से mysqldump