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

MySQL ट्रिगर्स के साथ CONCAT का उपयोग करना (त्रुटि पर,)

अपडेट किया गया:

  1. ऐसा लगता है कि आपने नहीं बदला DELIMITER .
  2. आपका मतलब सबसे अधिक संभावना है CURRENT_TIMESTAMP न के बराबर CURTIMESTAMP()

कहा जा रहा है कि आपके ट्रिगर का वाक्यात्मक रूप से सही संस्करण ऐसा दिखाई दे सकता है

DELIMITER $$
CREATE TRIGGER users_update_trigger
AFTER UPDATE ON users 
FOR EACH ROW
BEGIN
  INSERT INTO users_backlog (user_id, description, datetime) VALUES 
  (NEW.user_id, CONCAT('modified from ', OLD.hourly, ' to ', NEW.hourly), CURRENT_TIMESTAMP);
END$$
DELIMITER ;

या (क्योंकि आपके ट्रिगर में केवल एक ही कथन है, आप BEGIN ... END को छोड़ सकते हैं ब्लॉक करें और DELIMITER ) बस

CREATE TRIGGER users_update_trigger
AFTER UPDATE ON users 
FOR EACH ROW
  INSERT INTO users_backlog (user_id, description, datetime) VALUES 
  (NEW.user_id, CONCAT('modified from ', OLD.hourly, ' to ', NEW.hourly), NOW());

यह रहा SQLFiddle डेमो



  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. MySQL में लगातार पंक्तियों के बीच अंतर कैसे प्राप्त करें?

  3. एकाधिक मानों वाले कॉलम से मेल खाते हुए दो तालिकाओं में शामिल हों

  4. MySQL में mm/dd/yyyy प्रारूप दिनांक सम्मिलित करना

  5. जब सर्वर तक नहीं पहुंचा जा सकता है तो PHP का पीडीओ MySQL के लिए ATTR_TIMEOUT विकल्प को अनदेखा कर रहा है