2008-11-06 11 views
8

¿Alguien sabe si hay una manera de hacer que el trabajo de autocompletado funcione en MySQL Command Line Client en Windows? Funciona muy bien en Linux para mí, pero simplemente mueve el cursor debajo de Windows.Autocompletar en MySQL bajo Windows

Respuesta

16

Se debe trabajar de esta manera:

C:\> mysql --auto-rehash 

O configurar su my.cnf:

[mysql] 
auto-rehash 

edición: Mis disculpas. He encontrado algunas referencias de que la característica de completar pestañas en el cliente de mysql solo funciona en UNIX/Linux. No funciona en Windows.

actualización: La razón de esto se menciona brevemente en MySQL bug #4731:

[31 Jul de 2004 12:47] Sergei Golubchik

simplemente he descargado 4.0.15 - comando de finalización en mysql.exe NO es funcionando, como se esperaba. Nunca fue trabajando en mysql.exe porque fuimos incapaces de hacer readline para compilar con VC++.

mysqlc.exe es una compilación de cygwin, y está vinculada con readline.

Explicación: GNU readline es una biblioteca estándar de código abierto para manejar la entrada del usuario. El equipo de MySQL usa la biblioteca readline, pero no es su autor. Del comentario anterior, entiendo que no tuvieron éxito en la compilación de la biblioteca readline en Windows con Microsoft Visual C++, la herramienta que utilizan para construir el producto MySQL. Algunos proyectos de código abierto no se han hecho totalmente compatibles con el entorno de Microsoft Windows.

En un momento en el pasado, el producto MySQL proporcionaba un cliente alternativo al que llamaban mysqlc.exe, que compilaron con el conjunto de herramientas cygwin en Windows, pero ya no lo proporcionan. El conjunto de herramientas cygwin incluye la biblioteca readline, por lo que fue posible compilar el cliente mysqlc.exe con soporte para completar pestañas.

En teoría, si eres realmente intrépido, puedes descargar el conjunto de herramientas cygwin, incluida la biblioteca readline, luego descargar el código fuente MySQL y compilarlo usando cygwin. Entonces deberías tener un programa de cliente mysql que pueda completar la tabulación. Pero esto parece mucho trabajo incluso para alguien que esté familiarizado con construir MySQL desde la fuente.

+0

Gracias mucho por la explicación súper detallada. Creo que la gente de MySQL debería encontrar una manera de arreglar eso, incluso a costa de usar otra biblioteca, no creo que sea imposible o que sea caro. Pero sí, apenas podemos hacer nada hasta eso. –

+0

De hecho, he encontrado una versión de readline basada en Win32 Visual Studio: http://gnuwin32.sourceforge.net/packages/readline.htm - por lo que tal vez las personas de mysql puedan volver a usar eso ... Se agregó como comentario al error Mencionaste. –

+0

Actualmente hay paquetes mysql disponibles para cygwin desde su instalador, no es necesario compilarlos. – user151841

1

Esto probablemente no es lo que está buscando, pero la versión empresarial de SQLYog ofrece una autocompleción de esquema algo limitada.

+3

Gracias, SQLYog es una gran herramienta, pero a veces la línea de comandos es la mejor. –

+0

no estoy seguro de por qué no pueden simplemente mirar el código fuente del cliente de Postgres mucho mejor y ctrl-c no lo inicia (retardar). – user805547

Cuestiones relacionadas