我想通过ssh导入dump sql文件,如:
mysql -hlocalhost -uUSER -pPASS DATABASE < dump.sql
但它实际上会覆盖并删除旧数据库。转储标记为&#34; DROP TABLE IF EXISTS&#34;但为什么要删除旧条目?此转储应该将新(唯一)条目添加到数据库中,但它会删除旧的数据库条目。
有没有办法避免这种情况?
感谢。
答案 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
选项。