gpt4 book ai didi

MySQL 显示临时表;

转载 作者:行者123 更新时间:2023-11-29 03:48:47 25 4
gpt4 key购买 nike

我正在使用 MySQL 5.7 学习 SQL。我想枚举所有表包括临时表!

但是当我查询 SHOW TABLES;它仅显示非临时表。

如何列出所有表?

最佳答案

我还没有找到对此的直接答案 - 据我所知,没有办法(目前是 MySQL 8.0.31)列出您连接上的所有临时表。

您可以使用以下方法测试表是否存在:

SELECT 1 FROM my_table WHERE 0;

如果您没有收到错误,则该表以某种形式存在(TEMPORARY、BASE TABLE 或 VIEW)。要检查它是否是临时的,您可以使用:

SHOW TABLES IN my_db
WHERE Tables_in_my_db = "my_table"

(返回表名,如果它存在并且不是临时的或者使用'FULL TABLES'返回表类型)或

SELECT table_type
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = "my_db" AND TABLE_NAME = "my_table";

(如果存在且不是临时的则返回表类型)

因此,如果第一个测试未返回错误但未使用其他测试之一列出该表,则该表是临时的。

这无助于枚举临时表(我相信这可以完成 - 请参阅其他答案 - 如果表是 INNODB 但通常不是 MyISAM 例如),但它确实使您能够将表识别为临时表或者如果你知道这个名字的话。

关于MySQL 显示临时表;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44754327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com