栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何检查PHP是否存在MySQL表?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何检查PHP是否存在MySQL表?

// Select 1 from table_name will return false if the table does not exist.$val = mysql_query('select 1 from `table_name` LIMIT 1');if($val !== FALSE){   //DO SOMETHING! IT EXISTS!}else{    //I can't find it...}

诚然,它比Python惯用语言更具有Python风格,但另一方面,您不必担心要处理大量额外数据。

编辑

因此,截至我撰写此消息时,此答案的标记次数至少减少了两次。假设我犯了一些巨大的错误,我去了并运行了一些基准测试,这就是我发现当表不存在时我的解决方案比最接近的替代方案快10%以上,而当表不存在时我的解决方案快25%以上。该表确实存在:

:::::::::::::::::::::::::BEGINNING NON-EXISTING TABLE::::::::::::::::::::::::::::::23.35501408577 for bad select25.408507823944 for select from schema num rows -- calls mysql_num_rows on select... from information_schema.25.336688995361 for select from schema fetch row -- calls mysql_fetch_row on select... from information_schema result50.669058799744 for SHOW TABLES FROM test:::::::::::::::::::::::::BEGINNING EXISTING TABLE::::::::::::::::::::::::::::::15.293519973755 for good select20.784908056259 for select from schema num rows21.038464069366 for select from schema fetch row50.400309085846 for SHOW TABLES FROM test

我尝试针对DESC运行此命令,但是在276秒后出现了超时(我的答案是24秒,而276无法完成不存在的表的描述)。

从好的方面来说,我正在对其中仅包含四个表的模式进行基准测试,这几乎是全新的MySQL安装(这是迄今为止唯一的数据库)。要查看出口,请看这里。

还有更多

该特定解决方案还具有更多的数据库独立性,因为同一查询将在PgSQL和Oracle中工作。

最后

mysql_query()
对于不存在“此表不存在”的错误,返回FALSE。

如果您需要保证该表
存在,请使用

mysql_errno()
来获取错误代码并将其与相关的MySQL错误进行比较。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/382728.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号