【发布时间】:2016-01-14 23:21:46
【问题描述】:
显然,我有一个简单的问题。作为文档,我可以检查数据库上是否存在表或视图。在我的应用程序中,我需要检查数据库中是否都已经存在以返回自定义错误。问题是我可以检查是否有表格,但不能检查视图。例如:
**Working case**
$checkTable = $this->db->query("SELECT * FROM sqlite_master WHERE name ='$table' and type='table'", PDO::FETCH_ASSOC);
**Not working case**
$checkTable = $this->db->query("SELECT * FROM sqlite_master WHERE name ='$table' and type='table' OR type='views'", PDO::FETCH_ASSOC);
**Not working case**
$checkTable = $this->db->query("SELECT * FROM sqlite_master WHERE name ='$table' and type='views'", PDO::FETCH_ASSOC);
奇怪的是,如果我对视图运行查询,则会返回结果:
**Working case**
$checkTable = $this->db->query("SELECT * FROM VIEWSpeople WHERE name ='$person'", PDO::FETCH_ASSOC);
在 sqlite_master 上的一般查询查找视图:
**Working case**
$checkTable = $this->db->query("SELECT * FROM sqlite_master WHERE name ='$table'", PDO::FETCH_ASSOC);
问题:为什么查询不能将视图识别为 type='views'? 感谢您的宝贵时间。
【问题讨论】:
-
会不会只是
view而不是views? -
你好,RRAider,谢谢你,我也试过“VIEW”没什么好处