我已将我的应用程序数据库从mysql更改为postgres,因为权限模块提供了异常:
`CDbCommand failed to execute the SQL statement: SQLSTATE[42P01]: Undefined table: 7
ERROR: relation "authitem" does not exist
LINE 2: FROM AuthItem t1
^. The SQL statement executed was: SELECT
name,t1.type,description,t1.bizrule,t1.data,weight
FROM AuthItem t1
LEFT JOIN Rights t2 ON name=itemname
ORDER BY t1.type DESC, weight ASC `
我已经查看了表格的名称,它与“案例敏感”完全相同。
答案 0 :(得分:1)
如果数据库中的表名是AuthItem
而不是authitem
,则查询应为:
FROM "AuthItem" t1
请注意双引号。
看起来您正在使用的任何内容都将表创建为CREATE TABLE "AuthItem"
,但随后将其查询为SELECT ... FROM AuthItem
。这些是不同的东西。是的,这很令人困惑,但这就是SQL标准所说的 - 案例在未加引号的标识符上折叠,并且在引用的标识符上保留。