以前工作的SQL查询不再起作用

时间:2012-04-06 17:50:01

标签: mysql sql

我有一个SQL查询,可以在旧版本的MySQL4上运行,但不能在我当前的5.5版本上运行 我希望有人能看到我用这个看不到的东西。

select tblprefix_groups_permissions.permission_name
  from tblprefix_groups_permissions, tblprefix_users, tblprefix_permissions
 where tblprefix_groups_permissions.permission_name = tblprefix_permissions.permission_name
 and tblprefix_groups_permissions.group_id = tblprefix_users.group_id
 and (tblprefix_users.user_id = '==NUMERIC ID=='
 and (tblprefix_permissions.permission_name = 'ADMIN::SETTINGS::VIEW'
 or tblprefix_permissions.permission_name = 'ALL'))

对于它的作用,SQL语句应该是非常自我解释的,我没有看到挂断的位置。如果列表没有返回任何内容,则拒绝返回列表。

2 个答案:

答案 0 :(得分:0)

看起来你错误地把引号放在这里:

ADMIN::SETTINGS::VIEW''

无论如何......你确定它适用于MySQL 4吗?

顺便说一句,你可以删除外括号。

答案 1 :(得分:0)

语句是正确的,我忽略了这样一个事实,即语句还会检查以确保Permission在主权限表中,即:tblprefix_permissions.permission_name我还没有将权限放入主权限表

所以这让我变得愚蠢或者只是累了LOL对不起家伙,虽然工作很好并且感谢快速回复