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

सम्मिलित या अद्यतन पर पूर्ण MySQL क्वेरी स्ट्रिंग प्राप्त करें

आप वर्तमान SQL क्वेरी को निम्न कथन के साथ स्ट्रिंग के रूप में प्राप्त कर सकते हैं:

SELECT info FROM INFORMATION_SCHEMA.PROCESSLIST WHERE id = CONNECTION_ID()

तो आपको क्या करना है एक TRIGGER . बनाना है जो आपकी टेबल पर इन्सर्ट और/या अपडेट ऑपरेशंस पर चलता है जो (i) . होना चाहिए वर्तमान sql स्टेटमेंट प्राप्त करें और (ii) इसे किसी अन्य तालिका में डालें, जैसे:

DELIMITER |

CREATE TRIGGER log_queries_insert BEFORE INSERT ON `your_table`
FOR EACH ROW
BEGIN
    DECLARE original_query VARCHAR(1024);
    SET original_query = (SELECT info FROM INFORMATION_SCHEMA.PROCESSLIST WHERE id = CONNECTION_ID());
    INSERT INTO `app_sql_debug_log`(`query`) VALUES (original_query);
END;
|
DELIMITER ;

आपको दो ट्रिगर बनाने होंगे - एक अपडेट के लिए और एक इंसर्ट के लिए। ट्रिगर नई क्वेरी को app_sql_debug_log में एक स्ट्रिंग के रूप में सम्मिलित करता है query . में तालिका कॉलम।



  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. टैगिंग सिस्टम:Toxi समाधान प्रश्न

  3. किसी तालिका की प्राथमिक कुंजी को कैसे रीसेट करें?

  4. मैं फैटफ्री फ्रेमवर्क में mysql परिणामसेट के माध्यम से कैसे लूप करूं?

  5. MySQL बिंदु प्रकार के निर्देशांक प्राप्त करना