Detta är standard mysql (CLI) beteende varje gång användaren trycker på fliken nyckel (mysql använder den underliggande läsraden eller EditLine bibliotek (inte på Windows)).
Som standard, när användaren begär att use
en databas, mysql läser tabeller och fältdefinitioner. Tryck sedan på fliken nyckel gör mysql erbjuder bekvämt komplettering av den aktuella inmatningen med de kända tabellerna och fälten.
Klistrar dock in lite text i mysql som innehåller TAB-tecken (\t
eller 0x09
) utlöser samma beteende - även om ingen Tab tangenten trycktes faktiskt ner från tangentbordet. Och detta kan vara irriterande.
Två alternativ ges till mysql kan dock förhindra det beteendet. Min favorit är --disable-auto-rehash
. Den andra är --quiet
eller -q
.
-
--disable-auto-rehash
för att förhindra komplettering av databas-, tabell- och kolumnnamn (som inte läses från databasen, användrehash
kommandot om du senare behöver slutföra). Kommandohistoriken behålls dock (hämtad via ↑). och ↓ nycklar till exempel). Vilket är bekvämt. -
--quick
eller-q
vilket gör mysql använder inte historiken fil och ingen komplettering (läser inte databasdefinitionerna).
På Linux kan man lägga till ett alias i .bashrc
för att använda --disable-auto-rehash
automatiskt
alias mysql2='mysql --disable-auto-rehash'