mysql:将表导出到没有具体列的xml

时间:2012-04-07 13:41:05

标签: mysql xml mysqldump

要将某个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”标记为不会在通过输出xml文件获得的列中显示mysqldump命令?

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

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

会做我需要的。

1 个答案:

答案 0 :(得分:0)

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