【问题标题】:SQLSTATE Error Syntax error or access violation: 1066 Not unique table/alias: 'users_sessions'SQLSTATE 错误语法错误或访问冲突:1066 不是唯一的表/别名:'users_sessions'
【发布时间】:2016-02-06 20:09:39
【问题描述】:

我在使用连接的简单查询时遇到了错误。

我的查询:

SELECT users_sessions.user_id AS users_sessions_user_id,
       users.last_name AS users_last_name,
       users.first_name AS users_first_name 
FROM prefix_users_sessions AS users_sessions,
     prefix_users AS users INNER JOIN 
     users_sessions 
     ON users.id = users_sessions.user_id

我的错误:

SQLSTATE[42000]:语法错误或访问冲突:1066 不唯一 表/别名:'users_sessions'

我不明白这个消息...我看不出别名在哪​​里使用的不止一个。

谁能帮我解决这个问题?

提前感谢您的帮助。

--已解决--

好的查询如下:

    SELECT users_sessions.id AS users_sessions_id,
           users_sessions.user_id AS users_sessions_user_id,
           users.lastname AS users_lastname, users.firstname AS
           users_firstname
    FROM prefix_users_sessions AS users_sessions
           JOIN prefix_users AS users ON users.id = users_sessions.user_id 

【问题讨论】:

    标签: mysql sql select join mysql-error-1066


    【解决方案1】:

    您的from 子句完全搞砸了。一个简单的规则:从不FROM 子句中使用逗号。 总是使用明确的JOIN 语法。

    此外,请使用较短的表别名,以便您的查询更易于编写和阅读:

    SELECT us.user_id AS users_sessions_user_id,
           u.last_name AS users_last_name,
           u.first_name AS users_first_name 
    FROM prefix_users_sessions us INNER JOIN
         prefix_users  u 
         ON u.id = us.user_id;
    

    这假设您实际上并没有名为users_sessions 的表,并且打算使用名为prefix_users_sessions 的表。

    【讨论】:

    • 感谢您的灯光 Gordon
    【解决方案2】:

    您指定了表 prefix_users_sessions 两次

    SELECT  users_sessions.user_id AS users_sessions_user_id,
            users.last_name AS users_last_name,
            users.first_name AS users_first_name
    FROM    prefix_users_sessions AS users_sessions
            INNER JOIN prefix_users AS users 
                ON users.id = users_sessions.user_id
    

    【讨论】:

      【解决方案3】:

      您两次使用名称users_sessions。 首先作为prefix_users_sessions 的别名,然后作为INNER JOIN 中的普通表。也尝试使用INNER JOINs,而不是同时从两个表中选择,例如(在您的查询中)。:

      FROM prefix_users_sessions AS users_sessions, prefix_users AS users 
      

      【讨论】:

        猜你喜欢
        • 2015-04-01
        • 1970-01-01
        • 2018-12-07
        • 2019-03-15
        • 1970-01-01
        • 2017-10-28
        • 2015-09-12
        • 2022-01-25
        • 1970-01-01
        相关资源
        最近更新 更多