首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MySql中不使用drop恢复转储

问如何在MySql中不使用drop恢复转储
EN

Stack Overflow用户
提问于 2022-03-04 11:44:27
回答 1查看 211关注 0票数 0

我从特定日期开始转储表的一部分,我希望在特定表中的副本数据库中恢复这个转储,但是当我试图恢复它时,mysql给出了一个错误:The table is already exist。

如果有帮助,下面是我处理转储的方式:

mysqldump --user=root my_db my_table --where="YEAR(created)='2021' AND MONTH(created)='21'" > week21.sql

我知道我可以用--opt选项创建转储,但是这个选项首先删除整个表,这样我就会丢失这个表中的当前数据,对吗?

有办法这么做吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-03-04 12:10:33

米斯德 (或马里亚布-转储)在其输出文件中发出一堆SQL语句。您可以通过在文本编辑器中查看文件来读取这些语句。而且,如果需要的话,您可以编辑文件(但这是处理像您这样的工作流的一种脆弱的方法)。

您需要让它为您的特定应用程序编写正确的SQL语句。在您的例子中,CREATE TABLE语句扰乱了您的工作流程,所以不要使用它们。

如果使用命令行选项,mysqldump将不会将CREATE TABLE语句写入其输出文件。这样就能解决你眼前的问题了。

如果您试图用mysqldump输出还原的行可能已经存在于新表中,则可以使用mysqldump的--insert-ignore 命令行选项让它编写插入忽略语句,而不是普通的INSERT语句。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71350943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档