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

MySQL ट्रिगर में INSERT ऑपरेशन को कैसे निरस्त करें?

मैं इस पर आया और हालांकि समाधान काम करता है, मैं बाद में एक बेहतर समाधान की तरह मुझे क्या लगता है। मुझे संदेह है कि यह एक विकल्प नहीं था जब इस प्रश्न का मूल रूप से उत्तर दिया गया था।

CREATE TRIGGER `TestTable_SomeTrigger`
BEFORE UPDATE ON `test_table`
FOR EACH ROW
BEGIN
    DECLARE msg VARCHAR(255);
    IF (SomeTestToFail = "FAIL!") THEN
        set msg = "DIE: You broke the rules... I will now Smite you, hold still...";
        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = msg;
    END IF;

    -- Do any other code here you may want to occur if it's all OK or leave blank it will be
    --  skipped if the above if is true
END$$

यह अब एक अच्छा (या बुरा!) त्रुटि संदेश लौटाएगा जिसे आप ट्रैप कर सकते हैं। इस पर अधिक जानकारी के लिए देखें:http://dev.mysql.com/doc/refman/5.5/en/signal.html

मुझे आशा है कि इससे किसी और को मदद मिलेगी!



  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. MySQL - 'Last_Query_Cost' जैसी स्थिति दिखाएं का उपयोग करके अंतिम क्वेरी लागत प्राप्त करें

  4. लाइब्रेरी लोड नहीं हुई:mysql2 मणि ​​के साथ OS X 10.6 पर 'रेल सर्वर' चलाने का प्रयास करते समय libmysqlclient.16.dylib त्रुटि

  5. एक परिणामसेट लौटाना