内部联接上的MySQL列错误
我正在跟踪,并希望创建一个用户角色视图。这是我用SQL做的第一件事,尽管我知道一些基本知识。我正在使用MySQL工作台 我的声明如下:内部联接上的MySQL列错误,mysql,jakarta-ee,inner-join,mysql-workbench,Mysql,Jakarta Ee,Inner Join,Mysql Workbench,我正在跟踪,并希望创建一个用户角色视图。这是我用SQL做的第一件事,尽管我知道一些基本知识。我正在使用MySQL工作台 我的声明如下: CREATE VIEW `v_user_role` AS SELECT u.Username, u.Password, g.name FROM `users_groups` ug INNER JOIN `user_table` u ON u.iduser = ug.userid INNER JOIN `group` g ON g.idgroup
CREATE VIEW `v_user_role` AS
SELECT u.Username, u.Password, g.name
FROM `users_groups` ug
INNER JOIN `user_table` u ON u.iduser = ug.userid
INNER JOIN `group` g ON g.idgroup = ug.groupid;
我得到的错误是:
ERROR 1054: Unknown column 'ug.userid' in 'on clause'
users\u groups表中有一个名为userid的外键。我做错了什么
更新:描述仅显示id而非外键的用户组。下面提到的select查询失败
由于它在抱怨
用户组.userid
列,您的第一步是检查:
select userid from users_groups
对于表名和列名的重命名,最可能的解释是您重命名了错误的内容
如果您提供的是实际的模式,而不是教程链接,那么就容易多了,我指的是MySQL本身的模式输出,类似于:
select * from information_schema.tables where table_name = 'user_table'
以避免任何转录错误。表
用户组
上的列是什么?它有一个id,id\u usersgroups;还有两个外键,userid和groupid在教程中,除非您重命名它,否则它有。
。我确实重命名了一些表/列,但它们绝对匹配。如果您重命名了一些列,您需要向我们展示的是这些,而不是教程的原始内容。有一种可能是你的重命名没有你想象的那么好:-)首先要检查select userid from users\u groups
的结果,就像这样。