为什么PostgreSQL必须不同(方案不存在)?

时间:2010-06-08 02:24:20

标签: sql database postgresql

我不习惯使用PostgreSQL,但是使用Zend_Db_Select来创建我的查询。 下面的错误是什么意思?

SQL error:
ERROR:  schema "il" does not exist

In statement:
SELECT il.count(*) AS "count" FROM "image_lite" AS "il" 
INNER JOIN "exif_parse" AS "ex" ON il.image_id = ex.image_id 
WHERE (ex.cam_make = 'apple')

3 个答案:

答案 0 :(得分:6)

它正在解析il.count(*)作为模式“il”中函数“count”的调用。可能你想要的是表达式:

count(il.*)

答案 1 :(得分:5)

您可以像在MySQL中的数据库一样考虑PostgreSQL中的模式。还要尝试删除所有内容的双引号,因为这很奇怪,可能会导致问题。

哦,我看到il.count(*)毫无意义。

请改为:

select count(*) cnt       
  from image_lite il 
  join exif_parse ex on il.image_id = ex.image_id 
 where ex.cam_make = 'apple'

答案 2 :(得分:1)

Postgres将“il”中的“il.count(*)”解释为模式名称。您可以简单地省略它并要求count(*),或者如果您想要具体,count(il.*)

如果您来自MySQL,那么模式就是世界其他地方所谓的MySQL称之为数据库的模式。