Je veux être en mesure de garder un journal de chaque déclaration sql qui édite une table spécifique, et je pense que la meilleure façon serait avec un déclencheur. Cependant, je ne sais pas comment obtenir la déclaration qui déclenche le déclencheur.Capturer MySQL Statement et l'insérer dans un autre db via le déclencheur
Par exemple, si je lance:
$sql = "INSERT INTO foo (col_1) VALUES ('bar');"
Je veux être en mesure d'élaborer une déclaration d'insertion comme:
$sql = "INSERT INTO log (statements) VALUES (INSERT INTO foo (col_1) VALUES ('bar')'
Est-ce possible avec un déclencheur? Je sais que je peux le faire facilement avec php, mais j'ai pensé qu'un déclencheur aurait moins de frais généraux.
C'est malheureux. Merci pour la réponse, malgré le fait que je n'aime pas ça. –
5 ans de retard, mais voici une solution: http://stackoverflow.com/questions/10628640/get-full-mysql-query-string-on-insert-or-update – medloh
@medloh: peut-être, mais après l'analyse des journaux de requête généraux (surcharge énorme) ou des journaux de corbeille (plus petit frais généraux) aurait ma préférence. – Wrikken