2009-07-05 57 views
42

sé cómo se puede ejecutar consultas MySQL/comandos de bash:Cómo obtener el número de filas afectadas, al ejecutar la consulta MySQL desde bash?

mysql -u[user] -p[pass] -e "[mysql commands]" 

o

mysql -u[user] -p[pass] `<<`QUERY_INPUT 

[mysql commands] 

QUERY_INPUT 

¿Cómo puedo capturar el número de filas afectadas por la consulta?
He intentado hacer:

variable='`mysql -u[user] -p[pass] -e "[mysql commands]"`' 

lo hace ejecutar el comando pero no devuelve el número de filas afectadas.

Respuesta

74

Deja

SELECT ROW_COUNT(); 

como la última declaración en su lote y analizar la salida

+0

Sí, esto funciona, y es más elegante y más fácil de analizar la salida. Gracias fue muy útil. –

+2

Esto fue introducido en MySQL 5. Si está atascado usando 4.x tendrá que analizar la salida –

+0

Use la respuesta de @florin.bunau, es mejor para ver cuántas filas se actualizan/insertan/quitan. –

18

Podría haber respondido a la pregunta, he estado mirando los parámetros, y aparentemente usar "-v -v -v" como parámetros para el comando mysql lo fuerza a ser más detallado y escupe cuántas filas fueron afectadas .

+3

'-vvv' es ideal si desea obtener más información, que incluye el tiempo de ejecución de la consulta. – Qtax

+0

@Qtax, ¿Hay alguna diferencia entre '-v' y' -vvv'? – Pacerier

+1

@Pacerier, sí, son diferentes. Por cada 'v' que agregue obtendrá mayor verbosidad y más información (como tiempos de ejecución de consultas, etc.). – Qtax

3

No es una respuesta, pero la adición útil, también se podría tratar las otras funciones de información de MySQL (que incluyen ROW_COUNT()) para darle la información específica que necesita. See MySQL reference here

+0

¿Cómo funciona esto si corro? una consulta de actualización y desea ver cuántas filas han cambiado? – tobyodavies

+0

No hay ningún "volcado detallado" en ninguna parte de las respuestas actuales o la pregunta ... – tobyodavies

+0

Si observa la referencia de función en ese enlace ROW_COUNT() es una de las funciones y dice que proporciona "El número de filas actualizadas ". Entonces, ¿por qué el voto hacia abajo? – Jason

Cuestiones relacionadas