Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Dapatkan String Kueri MySQL Lengkap saat Sisipkan atau Perbarui

Anda bisa mendapatkan kueri SQL saat ini sebagai string dengan pernyataan berikut:

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

Jadi yang harus Anda lakukan adalah membuat TRIGGER yang berjalan pada operasi penyisipan dan/atau pembaruan pada tabel Anda yang seharusnya (i) dapatkan pernyataan sql saat ini dan (ii) masukkan ke tabel lain, seperti:

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 ;

Anda harus membuat dua pemicu - satu untuk pembaruan dan satu untuk sisipan. Pemicu menyisipkan kueri baru sebagai string di app_sql_debug_log tabel di query kolom.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mencari (tidak peka huruf besar/kecil) di kolom menggunakan wildcard LIKE?

  2. MySQL DENGAN klausa

  3. MYSQL - Pilih nilai spesifik dari array yang diambil

  4. PHP/Apache:PHP Kesalahan fatal:Panggilan ke fungsi yang tidak ditentukan mysql_connect()

  5. Cara terbaik untuk membaca CSV di Ruby. CSV lebih cepat?