我正在尝试在我的数据库中执行几行的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”。
答案 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