Dit is de standaard mysql (CLI) gedrag elke keer dat de gebruiker op de Tab . drukt sleutel (mysql gebruikt de onderliggende leesregel of EditLine bibliotheken (niet op Windows)).
Standaard, wanneer de gebruiker vraagt om use
een database, mysql leest tabellen en velddefinities. Druk vervolgens op de Tab sleutel maakt mysql biedt handig aanvulling op de huidige invoer met de bekende tabellen en velden.
Echter, wat tekst plakken in mysql die TAB-tekens bevat (\t
of 0x09
) triggert hetzelfde gedrag - ook al is er geen Tab toets daadwerkelijk is ingedrukt vanaf het toetsenbord. En dit kan vervelend zijn.
Twee opties gegeven aan mysql kan dat gedrag echter voorkomen. Mijn favoriet is --disable-auto-rehash
. De andere is --quiet
of -q
.
-
--disable-auto-rehash
om te voorkomen dat database-, tabel- en kolomnamen worden voltooid (die niet uit de database worden gelezen, gebruikt u derehash
commando als u dit later wilt voltooien). De geschiedenis van de commando's wordt echter bewaard (opgehaald via de ↑ en ↓ sleutels bijvoorbeeld). Wat handig is. -
--quick
of-q
waardoor mysql de geschiedenis niet gebruiken bestand en geen aanvulling (lees de databasedefinities niet).
Op Linux kan men een alias toevoegen in .bashrc
om --disable-auto-rehash
te gebruiken automatisch
alias mysql2='mysql --disable-auto-rehash'