MySQL“source”命令覆盖表

时间:2013-08-27 14:34:35

标签: mysql import

我有一个MySQL服务器,它有一个名为“Backup”的数据库。 它只有一个名为“storage”的表。

在备份数据库中,存储表包含大约5百万个数据行。

现在,我想在SQL命令行中使用“source”命令将新行追加到表中。

所以发生了什么,该源上传了表中的所有新文件,但它覆盖了现有条目(似乎他首先删除了所有数据)

我要说的是,我要更新的sql文件来自另一台服务器,其中该表的名称和结构与“storage”相同。

我想要的是将sql文件中的新条目附加到我的数据库中的条目。我不想覆盖它们。

两个表中的结构完全相同。我使用备份日期库作为备份用途的名称,以便我可以不时备份我的数据。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

使用.sql命令查看您正在阅读的SOURCE文件,然后删除其中显示的DROP TABLECREATE TABLE语句。它们是你的表被覆盖的原因;实际发生的是桌子正在被替换。

您还可以考虑使用SELECT ... INTO OUTFILELOAD DATA INFILE作为一种更快,更不具潜在破坏性的方式将数据从一台服务器传输到另一台服务器中。