Saltar al contenido

Pegar SQL en la línea de comandos de MySQL

Siéntete en la libertad de divulgar nuestra web y códigos con tus amigos, necesitamos de tu ayuda para ampliar esta comunidad.

Solución:

Este es el predeterminado mysql (CLI) cada vez que el usuario presiona el Pestaña key (mysql usa el subyacente readline o EditLine bibliotecas (no en Windows)).

De forma predeterminada, cuando el usuario solicita use una base de datos, mysql lee tablas y definiciones de campos. Luego, presionando el Pestaña key hace mysql ofrece convenientemente completar la entrada actual con las tablas y campos conocidos.

Sin embargo, al pegar texto en mysql que contiene caracteres TAB (t o 0x09) desencadena el mismo comportamiento, aunque no Pestaña key en realidad se presionó desde el teclado. Y esto puede resultar molesto.


Dos opciones dadas a mysql Sin embargo, puede prevenir ese comportamiento. Mi favorito es --disable-auto-rehash. El otro es --quiet o -q.

  • --disable-auto-rehash para evitar que la base de datos, la tabla y el nombre de la columna se completen (que no se leen de la base de datos, utilice el rehash comando si más adelante necesita completar). Sin embargo, el historial de comandos se mantiene (recuperado a través del y keys por ejemplo). Que es conveniente.

  • --quick o -q que hace mysql no usando el historia archivo y sin completar (no lee las definiciones de la base de datos).

En Linux se puede agregar un alias en .bashrc usar --disable-auto-rehash automáticamente

alias mysql2='mysql --disable-auto-rehash'

Quizás podría guardar la declaración en un archivo de texto myTest.sql, luego use el comando MySQL source myTest.sql para ejecutarlo? Luego, puede modificar el SQL en el archivo, guardar los cambios y ejecutarlo nuevamente.

Debe eliminar los saltos de línea y las pestañas. La pestaña doble hace que se muestre el Display all 1450 possibilities? (y or n) y los saltos de línea hacen que se ejecute antes.

Si es PHP, escribe un pequeño script para eliminarlo:

echo (preg_replace("/s+/", " ", $string));

O algo similar para otros idiomas.

Eres capaz de añadir valor a nuestro contenido informacional añadiendo tu experiencia en las notas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *