Автозаполнение в MySQL под Windows

кто-нибудь знает, есть ли способ заставить автозаполнение работать в клиенте командной строки MySQL под Windows? Он отлично работает под Linux для меня, но вместо этого просто перемещает курсор под Windows.

3 ответов


это должно работать так:

C:\> mysql --auto-rehash

или настроить my.cnf:

[mysql]
auto-rehash

edit: мои извинения. Я нашел некоторые ссылки, что функция tab-completion в клиенте mysql работает только на UNIX/Linux. Она не работает на Windows.

обновление: причина этого кратко упоминается в MySQL ошибка #4731:

[31 Июля 2004 12:47] Сергей Голубчик

Я только что загрузил 4.0.15-command завершение в mysql.exe нет работает, как ожидалось. Этого никогда не было. работа в mysql.ехе потому что мы были не удалось сделать readline для компиляции с VC++.

mysqlc.exe-это сборка cygwin, и она связана с readline.

объяснение: GNU readline стандартная библиотека с открытым исходным кодом для обработки пользовательского ввода. Команда MySQL использует библиотеку readline, но они не являются ее автором. От вышеприведенный комментарий, Я понимаю, что им не удалось скомпилировать библиотеку readline в Windows с Microsoft Visual C++, инструментом, который они используют для создания продукта MySQL. Некоторые проекты с открытым исходным кодом не были полностью совместимы со средой Microsoft Windows.

когда-то в прошлом продукт MySQL предоставлял альтернативный клиент, который они называли mysqlc.exe, которые они скомпилировали с помощью cygwin набор инструментов в Windows, но они не обеспечивают этого больше. Набор инструментов cygwin включает библиотеку readline, поэтому можно было скомпилировать mysqlc.exe клиент с поддержкой Tab-ом.

Итак, теоретически, если вы действительно бесстрашны, вы можете загрузить набор инструментов cygwin, включая библиотеку readline, затем загрузить исходный код MySQL и построить его с помощью cygwin. Тогда у вас должна быть клиентская программа mysql, которая может выполнять tab-завершение. Но это звучит как много работы даже для тех, кто знаком со строительством MySQL из источника.


Это, вероятно, не то, что вы ищете, но корпоративная версия SQLYog предлагает несколько ограниченное автоматическое завершение схемы.


Если выше не работает, и вы используете widnows 10, вы можете установить Linux shell, а затем установить mysql-client и подключиться, как в терминале в linux, где работает autocomplite.

инструкция: https://docs.microsoft.com/en-us/windows/wsl/install-win10