Laravel:获取自定义PostgreSQL架构的最后一个id



当使用以下命令请求公共模式表上的最后一个id时,我得到了预期的值,但它不适用于自定义模式:

>>> DB::select("SELECT last_value FROM public.users_id_seq WHERE is_called;")
=> [
{#3703
+"last_value": 4,
},
]
>>> DB::select("SELECT last_value FROM foo.users_id_seq WHERE is_called;")
=> []

当直接在PostgreSQL中执行时,这两个原始命令给出了预期值。

我该怎么修?

在PostgreSQL中,模式是一个命名空间,包含命名的数据库对象,如表、视图、索引、数据类型、函数、存储过程和运算符。一个数据库可以包含一个或多个模式,并且每个模式只属于一个数据库。两个模式可以具有共享相同名称的不同对象。因此,我认为您的问题可能是以下其中之一:

  • 对象users_id_seq不在foo模式中
  • 您无权访问此架构foo或此对象users_id_seq
  • 您对此架构或对象没有select权限

最新更新