我在模式下创建了一些表。目前,我可以使用以下模式访问表格:如何在模式中访问表而不必使用模式前缀(Postgres + PHP)?
select * from myschema.mytable
我在寻找避免使用模式名称的方法。像这样:
select * from mytable
但我没有找到答案。
你能帮忙吗?由于
我在模式下创建了一些表。目前,我可以使用以下模式访问表格:如何在模式中访问表而不必使用模式前缀(Postgres + PHP)?
select * from myschema.mytable
我在寻找避免使用模式名称的方法。像这样:
select * from mytable
但我没有找到答案。
你能帮忙吗?由于
模式搜索路径将用于这方面的工作:
要看到当前值:
SHOW search_path;
要更改值(追加新的模式):
SET search_path TO myschema,public;
道歉,但我不是很清楚。我如何从PHP内部做到这一点? – mrjayviper 2014-11-04 03:21:44
@mrjayviper只需在PHP下运行'SET'语句(在其他查询之前)。请注意,您想要访问的模式不一定是第一个 - 搜索路径中的第一个模式只控制在哪里创建新表(如果在单独的模式中有多个具有相同名称的表) – pozs 2014-11-04 08:19:55
出于好奇 - 为什么要避免模式名称? – 2014-11-04 00:48:57
您可以使用SET搜索路径;如SET search_path to myschema,public;这会影响整个会议 – okaram 2014-11-04 00:50:12