从mysqldump中检索N个最后一行

时间:2011-03-22 16:50:56

标签: mysql mysqldump

我正在使用以下命令从每个数据库的每列转储100行。问题是它返回第一个 100条记录,而我更愿意使用 last 。我找到了一个标志,让我按主键( - order-by-primary)排序,但仍然返回错误的行。我会尝试将'order by'潜入下面的where标志,但每个表的主键是不同的。

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

在抓取最后100条记录之前有没有办法扭转顺序,或者可能是引用PK的方式而不是PK的列名?

2 个答案:

答案 0 :(得分:0)

我认为只要您不想修补mysqldump源代码,就会有一种解决方法。

尝试创建一个辅助数据库模式(scheme_dump)并创建一个遍历所有表的脚本,激活

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

然后转储scheme_dump scheme。

不太好。

但修复一次性的源代码不应该那么难。

答案 1 :(得分:-1)

可能是这样的:SELECT * FROM TableName ORDER BY DESC LIMIT 100