【问题标题】:How can I determine whether a temporary table exists如何确定临时表是否存在
【发布时间】:2018-01-30 06:16:41
【问题描述】:

如何判断临时表是否存在? 我只需要确定,我不需要创建它。

版本是 MySQL 5.6。

【问题讨论】:

  • 这是我的错误,我没有描述它。我的目标是确定过程中是否存在临时表。现在我知道 MySQL 5.7 中的过程 sys.table_exists() 已经实现。跨度>

标签: mysql exists temp-tables


【解决方案1】:

INNODB_TEMP_TABLE_INFO 提供有关InnoDB 实例中当前处于活动状态的用户创建的InnoDB 临时表的信息。它不提供有关优化器使用的内部InnoDB 临时表的信息。

所以你可以检查使用:

mysql>   SHOW TABLES FROM INFORMATION_SCHEMA LIKE 'INNODB_TEMP%';

查询INNODB_TEMP_TABLE_INFO 以查看临时表元数据。

mysql>   SELECT * FROM INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO;

更多详情请见here

【讨论】:

  • 此表不适用于 MySQL 5.6。
【解决方案2】:

为所有没有数据的表转储数据库结构

mysqldump -d -u someuser -p mydatabase

-d:没有数据,只有结构

-u: 用户名

-p: 稍后提示输入密码

【讨论】:

    猜你喜欢
    • 2011-09-25
    • 1970-01-01
    • 2020-05-13
    • 1970-01-01
    • 2012-06-28
    • 2011-12-30
    • 1970-01-01
    • 2010-09-05
    • 2010-10-14
    相关资源
    最近更新 更多