Moin!
Ich habe ein Problem mit
MySql, bei dem ich nicht weiter komme.
Ausgangslage:
Ich habe ein Tabelle, die einen AFTER_INSERT-Trigger hat. In diesem Trigger wird eine PROCEDURE aufgerufen, die einen Logeintrag in eine andere Tabelle macht.
Also ist der Ablauf so: insert into tabelle -> AFTER_INSERT-Trigger -> procedure -> insert into logtabelle
Das funktioniert auch wie gewünscht problemlos.
Nun habe ich eine weitere FUNCTION, die einen Eintrag in der tabelle macht. Hier bekomme ich jedoch folgende Fehlermeldung:
Error Code: 1146. Table 'datenbank.logtabelle' doesn't exist 0.000 sec
Ich vermute, hier sind Rechte das Problem.
Die Function ist angelegt mit dem DEFINER root:
Code:
CREATE DEFINER=`root`@`
localhost` FUNCTION...
Und Root ist nicht irgendwie in den Rechten beschränkt. Er hat überall Vollzugriff. Daher kann ich mir das Verhalten so gar nicht erklären.
Was mich so wundert ist, dass ein direkter INSERT in die tabelle (was wiederum den Trigger auslöst) in einem
SQL-Fenster der Workbench funktioniert. Wenn ich aber in dem selben
Sql-Fenster die Function aufrufe, dann bekommen oben genannten Fehler.
Wer kann mir helfen?