要将某个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'));
会做我需要的。
答案 0 :(得分:0)
您可以通过在mysqldump命令中添加WHERE
子句来控制转储哪些记录(请参阅http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html#option_mysqldump_where)。