MYSQL转储意外行

时间:2015-06-02 13:39:03

标签: php mysql

我正在尝试在我的数据库中执行几行的mysql转储。然后我可以使用转储将这几行上传到另一个数据库。

mysqldump --opt --user=username --password=password lmhprogram myResumes  --where="date_pulled='2011-05-23'" > test.sql

但我有一个错误:意外的“date_pulled”

但是我的数据库中有一个“date_pulled”列!

修改
如果我在命令提示符下尝试mysqldump,它的工作原理如下:

C:/wamp/bin/mysql/mysql5.6.17/bin/mysqldump.exe --host=".$host." --user=".$username." --password=".$password." --where="date_pulled > '2011-05-23'" ".$db." ".$table." > ".$rep_local.$file." 

现在,如果我将此命令放在PHP的exec()脚本中,例如:

exec("C:/wamp/bin/mysql/mysql5.6.17/bin/mysqldump.exe --host=".$host." --user=".$username." --password=".$password." --where="date_pulled > '2011-05-23'" ".$db." ".$table." > ".$rep_local.$file." ");

然后我收到错误:“意外的date_pulled”。

1 个答案:

答案 0 :(得分:0)

我认为--where选项需要出现在数据库名称和表名之前。 (这就是我们这样做的方式。在命令末尾有数据库名称和表名。)

mysqldump --opt --user=username --password=password --where="date_pulled='2011-05-23'" lmhprogram myResumes  >test.sql

这里摘录了一个适用于我们的mysqldump脚本...

mysqldump -h localhost -u username -ppassword --insert-ignore --single-transaction \
    --quick --tz-utc --no-create-db --skip-add-drop-table \
    --where="timestamp_ >= '2015-05-22' AND timestamp_ < '2015-05-23'" \
    dbname table_name | gzip -c >test.sql.gz