Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不询问MySQL的情况下检查MySQL表是否存在_Mysql - Fatal编程技术网

如何在不询问MySQL的情况下检查MySQL表是否存在

如何在不询问MySQL的情况下检查MySQL表是否存在,mysql,Mysql,在不访问MySQL守护进程的情况下,我必须检查shell脚本中是否存在多个表。是否存在.frm文件来确定表是否存在?以下是我一直在做的事情,但它似乎并不总是有效(系统的另一部分可能存在错误): 这可靠吗?如果没有,是否有其他方法来实现这一点?是的,每个表都会有一个.frm文件。问题是,每个.frm文件都会有一个表吗?@Thomas:答案是肯定的,除非您已经损坏了表或者出于任何原因只是复制了.frm文件。frm文件是MySQL各种数据库引擎之间唯一的常量。谢谢@托马斯:好问题@贝姆罗斯:回答得很好

在不访问MySQL守护进程的情况下,我必须检查shell脚本中是否存在多个表。是否存在
.frm
文件来确定表是否存在?以下是我一直在做的事情,但它似乎并不总是有效(系统的另一部分可能存在错误):


这可靠吗?如果没有,是否有其他方法来实现这一点?

是的,每个表都会有一个
.frm
文件。

问题是,每个
.frm
文件都会有一个表吗?@Thomas:答案是肯定的,除非您已经损坏了表或者出于任何原因只是复制了.frm文件。frm文件是MySQL各种数据库引擎之间唯一的常量。谢谢@托马斯:好问题@贝姆罗斯:回答得很好。
for table in $TABLES; do
    if [ -f /data/mysql/${database}/${table}.frm ]; then
        ...
        ...
    fi
done