Php 使用存储过程获取错误:error 1066:Not unique table/alias:';用户';

Php 使用存储过程获取错误:error 1066:Not unique table/alias:';用户';,php,mysql,sql,procedure,Php,Mysql,Sql,Procedure,我是SQL新手,我现在在新的学徒生涯中经常使用SQL,我正试图在家里更好地掌握它。目前我有一个简单的PHP脚本,用于创建数据库的用户,现在我想根据用户ID从多个表中提取数据,但我遇到了这个错误 ERROR 1066: Not unique table/alias: 'users' SQL Statement: CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_userinfo`(IN uName VARCHAR(255)) BEGIN SEL

我是SQL新手,我现在在新的学徒生涯中经常使用SQL,我正试图在家里更好地掌握它。目前我有一个简单的PHP脚本,用于创建数据库的用户,现在我想根据用户ID从多个表中提取数据,但我遇到了这个错误

ERROR 1066: Not unique table/alias: 'users'

SQL Statement:

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_userinfo`(IN uName VARCHAR(255))

BEGIN

SELECT id,password,salt,email FROM controlpanel.users

LEFT JOIN controlpanel.users ON users.id=servers.ServerID



WHERE username = uName;

END
我现在正在使用MySQL。
我正试图从“用户”表中“OwnerID”列为“id”的表“servers”中获取ServerID、Port、IP、NodeID列。

我使用了一种不正确的方法来实现我想要的目标,我目前认为我应该获取“id”字段,然后使用该字段运行另一个存储过程,以查找users.id=servers.OwnerID

左侧连接的两侧都位于控制面板上的所有行。users。看起来您的意思是两个服务器中的一个成为
服务器
。您将
用户
加入
用户
,而不给它一个别名。但是,您的意思似乎是
服务器
。我明白了,应该是左侧的JOIN controlpanel.servers ON users.id=servers.ServerID?@JamesTrotter似乎servers.ServierID不太可能对应于users.id列。为什么要加入到servers表中?正确的是users.id应该链接到server.OwnerID,正确的是我应该加入他们。不久之后,我重新发布了它,并用一个新的存储过程替换它,以获取所有具有提供的用户id的服务器。