2011-03-22 34 views
5

Estoy usando el siguiente comando para volcar 100 filas de cada columna de cada base de datos. El problema es que devuelve el primeros registros donde preferiría tener el último. Encontré una bandera que me permite ordenar por clave principal (--order-by-primary), pero eso aún devuelve las filas incorrectas. Intentaría introducir un 'orden por' en el indicador de abajo, pero la clave principal es diferente para cada tabla.Recuperar N últimas filas de un mysqldump

mysqldump -u username -p --where="true limit 100" --all-databases > dump.sql 

¿Hay una manera de invertir el orden antes de agarrar los últimos 100 registros o tal vez una forma de referirse a la PK en lugar de nombre de la columna de la PK?

+2

No realmente. Pero puedes ordenar en los campos: ordena por '1,2,3,4,5'. Si su PK siempre consta de los primeros (x) campos, esto funciona. Si su PK es '1,3,5', no :) – Konerak

+0

¿Sigue interesado? Tengo una versión de Linux con esa reversión y límite, así de fácil. Sería útil si la clave principal no es la primera columna para todas las tablas. Intento hacer un parche real con opciones de línea de comandos para esas cosas, pero todavía no estoy seguro de cómo publicarlo, ya que necesita algunas mysql-client-libs. – flaschenpost

+0

Intento publicarlo como MySQL Feature Request 69163, ya veremos. – flaschenpost

Respuesta

-1

Puede ser esto: SELECT * FROM TableName ORDER BY DESC LIMIT 100

+0

que es un error de sintaxis sin formato. 'desc' es una palabra reservada, y no se puede tener una orden en blanco por cláusula de todos modos. –

0

pienso todo el tiempo que no quiere parchear el código fuente mysqldump no es sólo una solución temporal.

intente crear un esquema de base de datos secundaria (scheme_dump) y crea un script que los bucles sobre todas las tablas, los incendios

create table scheme_dump.<tabname> like <tabname>; 
insert into scheme_dump.<tabname> select * from <tabname> order by <colname> desc limit 100; 

y luego volcar scheme_dump esquema.

No es agradable.

Pero corregir el código fuente para una toma única no debería ser tan difícil.

Cuestiones relacionadas