我正在使用以下命令从每个数据库的每列转储100行。问题是它返回第一个 100条记录,而我更愿意使用 last 。我找到了一个标志,让我按主键( - order-by-primary)排序,但仍然返回错误的行。我会尝试将'order by'潜入下面的where标志,但每个表的主键是不同的。
mysqldump -u username -p --where="true limit 100" --all-databases > dump.sql
在抓取最后100条记录之前有没有办法扭转顺序,或者可能是引用PK的方式而不是PK的列名?
答案 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