Es gibt eine Reihe von Befehlen, die in den MySQL-Client integriert sind. Sie sind unter "mysql
Befehle
." Dazu gehören DELIMITER, SOURCE, HELP, CONNECT, USE, QUIT usw.
Der \.
(oder QUELLE
)-Befehl ist eines dieser eingebauten Elemente. Sie können diese integrierten Befehle weder programmgesteuert noch innerhalb einer gespeicherten Prozedur ausführen.
Es wäre, als würde man versuchen, eine UNIX-Shell, die von einem C-Programm aus mit execl()
eingebaut wird, auszuführen .
Eine andere Analogie könnte ein Webbrowser sein, wo Sie spezielle Anfragen wie „about:
“ eingeben können ", die von der Browser-App selbst verarbeitet werden; diese führen zu keiner HTTP-Anfrage an eine entfernte Website.
Außerdem würde es nicht helfen, wenn Sie ein Skript aus einer gespeicherten Prozedur beziehen könnten, da das Skript selbst wahrscheinlich eine Reihe von Befehlen enthält, die in den MySQL-Client integriert sind und daher nicht von der gespeicherten Prozedur ausgeführt werden können.
Siehe auch meine Antworten auf diese verwandten Fragen:
- Ausführen von MySQL *.sql-Dateien in PHP
- Laden von .sql-Dateien von innen heraus PHP
- PHP:mehrere SQL-Abfragen in einer mysql_query-Anweisung