【发布时间】:2016-07-19 00:56:58
【问题描述】:
在 PostgreSQL 中,我尝试检查表是否存在:
SELECT EXISTS (SELECT * FROM table_name);
它会抛出一个错误。如何检查表是否已经存在所以结果将是布尔值?因为目前我可以使用 try-catch(如果不存在则进入捕获)而不是结果上的 if-else 来实现相同的效果......
谢谢,
【问题讨论】:
标签: postgresql
在 PostgreSQL 中,我尝试检查表是否存在:
SELECT EXISTS (SELECT * FROM table_name);
它会抛出一个错误。如何检查表是否已经存在所以结果将是布尔值?因为目前我可以使用 try-catch(如果不存在则进入捕获)而不是结果上的 if-else 来实现相同的效果......
谢谢,
【问题讨论】:
标签: postgresql
其中任何一个都应该可以工作,但根据您的权限设置方式,您可能无权访问这些表:
SELECT EXISTS (SELECT relname FROM pg_class WHERE relname = 'table_name');
SELECT EXISTS (SELECT table_name FROM information_schema.tables WHERE table_name = 'table_name');
【讨论】: