【发布时间】:2015-11-28 20:15:23
【问题描述】:
我的数据库中有一组表,我必须对其进行转储 ( :D )。我的问题是我想从某些只能追溯到特定日期的表中获取一些数据,并希望保持其余表的完整性。
我想出的查询是这样的:
mysqldump -h<hostname> -u<username> -p <databasename>
<table1> <table2> <table3>
<table4> --where 'created > DATE_SUB(now(), INTERVAL 7 DAY)',
<table5> --where 'created > DATE_SUB(now(), INTERVAL 7 DAY)
--single-transaction --no-create-info | gzip
> $(date +%Y-%m-%d-%H)-dump.sql.gz
上面代码的问题是table1、table2和table3会尝试取table4的where子句。我不希望这样的原因会导致这些表中不存在 created 字段的错误。
我尝试将逗号 (,) 放在表名之后,就像我在 where 子句之后所做的那样,但它不起作用。
在这一点上,我几乎陷入困境,别无选择,希望创建两个不同的 sql 转储文件,我不想这样做。
【问题讨论】: