使用SSH导入SQL

时间:2013-02-20 23:11:06

标签: php mysql sql linux ssh

我想通过ssh导入dump sql文件,如:

mysql -hlocalhost -uUSER -pPASS DATABASE < dump.sql

但它实际上会覆盖并删除旧数据库。转储标记为&#34; DROP TABLE IF EXISTS&#34;但为什么要删除旧条目?此转储应该将新(唯一)条目添加到数据库中,但它会删除旧的数据库条目。

有没有办法避免这种情况?

感谢。

2 个答案:

答案 0 :(得分:0)

您可以将各种选项传递给MySQLDump,以便脚本只包含您需要的内容(例如,省略create table语句并只插入数据):http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

我认为你对--no-create-info和--no-create-db特别感兴趣。

如果您需要使用已有的转储,只需手动删除有问题的“DROP TABLE”行。

答案 1 :(得分:0)

  

转储标记为“DROP TABLE IF EXISTS”,但为什么要删除旧条目?

这正是DROP TABLE IF EXISTS的作用;如果表存在,它将被删除(删除)以及其中的所有行。

创建转储时,您可以添加--skip-add-drop-table选项。