mysql - 使用 mysqldump 时跳过或忽略临时表

标签 mysql sql

想知道是否有办法使用 mysqldump 跳过/忽略所有临时表。在我们的实例中,这些表的前缀为 tmp{guid}。

这些临时表的生命周期非常短,它们用于在其父应用程序中构建某种报告。生命周期可能长达 1 分钟。

编辑: 有人建议我使用ignore-tables参数,不幸的是,这并没有为我提供指定通配符作为表名(tmp*)的方法。

最佳答案

您不是在谈论来自CREATE TEMPORARY TABLE ...的表,对吗?相反,您正在谈论一组具有特定命名约定的表?

不要尝试使用表名来完成此操作,而是使用DATABASE来完成:

CREATE TABLE TempTables;
CREATE TABLE TempTables.abcd (...);

并通过数据库名称引用它们:

INSERT INTO TempTables.abcd ...
SELECT ... FROM TempTables.abcd JOIN ...

然后在 mysqldump 上使用合适的参数来避免使用该数据库DATABASE(或选择所有其他数据库进行转储)。

关于mysql - 使用 mysqldump 时跳过或忽略临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60031811/

相关文章:

javascript - 对嵌套 JSON 对象的扁平 MySQL 查询

php - 将 KML 文件加载到 mysql/xpath 和 x quires

mysql - 是否有可能在 SQL 查询中获取第 n 列之后的 m 列?

mysql - Sql - IN 运算符行为返回各种结果

java - hibernate 错误 : java.sql.SQLException: Access denied for user 'root ' @'localhost' (using password: YES)

MySQL Inner Join 两个表上第二个表的最大值

php - 如何找到MySQL临时表存储引擎

sql - 如何从 nvarchar(max) 类型的列中存储和提取 XML 信息,并在连接中使用它?

c# - 从 SQL Server Compact 反序列化会引发 "There is an unclosed literal string."错误

mysql - 删除 MySQL 中除重复行之外的所有重复行?