Dies ist das Standard-mysql (CLI)-Verhalten jedes Mal, wenn der Benutzer die Tabulatortaste drückt Schlüssel (mysql verwendet die zugrunde liegende readline oder EditLine Bibliotheken (nicht unter Windows)).
Standardmäßig, wenn der Benutzer use
anfordert eine Datenbank, mysql liest Tabellen und Felddefinitionen. Drücken Sie dann die Tabulatortaste key macht mysql bietet eine komfortable Vervollständigung der aktuellen Eingabe mit den bekannten Tabellen und Feldern.
Einfügen von Text in mysql die TAB-Zeichen enthält (\t
oder 0x09
) löst das gleiche Verhalten aus - obwohl kein Tab Taste wurde tatsächlich von der Tastatur gedrückt. Und das kann ärgerlich sein.
Zwei Optionen für mysql kann dieses Verhalten jedoch verhindern. Mein Favorit ist --disable-auto-rehash
. Der andere ist --quiet
oder -q
.
-
--disable-auto-rehash
Um die Vervollständigung von Datenbank-, Tabellen- und Spaltennamen zu verhindern (die nicht aus der Datenbank gelesen werden, verwenden Sie denrehash
Befehl, wenn Sie später eine Vervollständigung benötigen). Der Befehlsverlauf wird jedoch beibehalten (abgerufen über ↑ und ↓ Schlüssel zum Beispiel). Das ist praktisch. -
--quick
oder-q
was mysql macht den Verlauf nicht verwenden Datei und keine Vervollständigung (liest die Datenbankdefinitionen nicht).
Unter Linux kann ein Alias in .bashrc
hinzugefügt werden um --disable-auto-rehash
zu verwenden automatisch
alias mysql2='mysql --disable-auto-rehash'