Er is een reeks opdrachten ingebouwd in de mysql-client. Ze zijn gedocumenteerd onder "mysql
Commando's
." Deze omvatten DELIMITER, BRON, HELP, VERBINDEN, GEBRUIKEN, AFSLUITEN, enz.
De \.
(of SOURCE
) commando is een van deze ingebouwde ins. Je kunt deze ingebouwde commando's niet programmatisch uitvoeren, noch vanuit een opgeslagen procedure.
Het zou hetzelfde zijn als proberen een UNIX-shell uit te voeren die is ingebouwd vanuit een C-programma met behulp van execl()
.
Een andere analogie kan zijn in een webbrowser, waar u speciale verzoeken kunt typen, zoals "about:
" die worden afgehandeld door de browser-app zelf; deze resulteren niet in een HTTP-verzoek naar een externe website.
Het zou ook niet helpen als je een script zou kunnen sourcen vanuit een opgeslagen procedure, omdat het script zelf waarschijnlijk een aantal opdrachten bevat die zijn ingebouwd in de mysql-client en dus niet kunnen worden uitgevoerd door het opgeslagen proces.
Zie ook mijn antwoorden op deze gerelateerde vragen:
- MySQL *.sql-bestanden uitvoeren in PHP
- .sql-bestanden van binnenuit laden PHP
- PHP:meerdere SQL-query's in één mysql_query-statement