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-rehashUm die Vervollständigung von Datenbank-, Tabellen- und Spaltennamen zu verhindern (die nicht aus der Datenbank gelesen werden, verwenden Sie denrehashBefehl, wenn Sie später eine Vervollständigung benötigen). Der Befehlsverlauf wird jedoch beibehalten (abgerufen über ↑ und ↓ Schlüssel zum Beispiel). Das ist praktisch. -
--quickoder-qwas 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'