Questa è l'impostazione predefinita mysql (CLI) comportamento ogni volta che l'utente preme il Tab chiave (mysql utilizza la readline sottostante o EditLine librerie (non su Windows)).
Per impostazione predefinita, quando l'utente richiede di use
un database, mysql legge le tabelle e le definizioni dei campi. Quindi, premendo la scheda la chiave rende mysql offre convenientemente il completamento dell'input corrente con le tabelle e i campi noti.
Tuttavia, incollando del testo in mysql che contiene caratteri TAB (\t
o 0x09
) attiva lo stesso comportamento, anche se nessuna Tab il tasto è stato effettivamente premuto dalla tastiera. E questo può essere fastidioso.
Due opzioni date a mysql può impedire quel comportamento, però. Il mio preferito è --disable-auto-rehash
. L'altro è --quiet
o -q
.
-
--disable-auto-rehash
per impedire il completamento del nome di database, tabelle e colonne (che non vengono letti dal database, utilizzare ilrehash
comando se in seguito è necessario il completamento). Tuttavia, la cronologia dei comandi viene conservata (recuperata tramite il ↑ e ↓ chiavi per esempio). Il che è conveniente. -
--quick
o-q
che rende mysql non utilizzando la cronologia file e nessun completamento (non legge le definizioni del database).
Su Linux si può aggiungere un alias in .bashrc
per usare --disable-auto-rehash
automaticamente
alias mysql2='mysql --disable-auto-rehash'