1

要将数据从某个 mysql 表导出到 xml,我使用以下命令:

mysqldump --xml -t -u [username] --password=[password] [database] [table] > /path/to/file.xml

它工作得很好。
我的问题是它从表中导出所有列,我不想要这个。我需要用于单元测试的 xml 输出,因此在输出中有一个“created_at”列会使我的所有测试都失败。

所以我的问题是:假设我有一个名为“Table”的mysql表,列“col_1,created,col_2”,我如何将“created”标记为不会显示在通过mysqldump命令获得的输出xml文件中的列?

更新:我现在无法回答我的问题,我稍后再回答。我需要它用于 PHPUnit,但实际上我可以直接在 PHPUnit 中过滤 DataSet,而不是过滤 mysqldump 输出。

  $filterDataSet = new PHPUnit_Extensions_Database_DataSet_DataSetFilter($notFilteredDataSet);
  $filterDataSet->setExcludeColumnsForTable('Table', array('created_at'));

会做我需要的。

4

1 回答 1

0

WHERE您可以通过在 mysqldump 命令中添加子句来控制转储哪些记录(请参阅http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html#option_mysqldump_where)。

于 2012-04-11T14:04:32.697 回答