Det finns en uppsättning kommandon som är inbyggda i mysql-klienten. De är dokumenterade under "mysql
Kommandon
." Dessa inkluderar DELIMITER, SOURCE, HELP, CONNECT, USE, QUIT, etc.
\.
(eller SOURCE
) kommandot är ett av dessa inbyggda program. Du kan inte köra dessa inbyggda kommandon programmatiskt eller inifrån en lagrad procedur.
Det skulle vara som att försöka köra ett UNIX-skal inbyggt från ett C-program med execl()
.
En annan analogi kan vara i en webbläsare, där du kan skriva in särskilda önskemål som "about:
" som hanteras av webbläsarappen själv; dessa resulterar inte i någon HTTP-förfrågan till en fjärrwebbplats.
Det skulle inte heller hjälpa om du kunde hämta ett skript från en lagrad procedur, eftersom skriptet i sig sannolikt innehåller ett gäng kommandon som är inbyggda mysql-klienter och därför inte kan köras av den lagrade proc.
Se även mina svar på dessa relaterade frågor:
- Kör MySQL *.sql-filer i PHP
- Läser in .sql-filer inifrån PHP
- PHP:flera SQL-frågor i en mysql_query-sats