首页 > 解决方案 > 'where 子句'中的错误 SQL 未知列 'role_user.role_id'

问题描述

我有以下代码:

SELECT * FROM `users` JOIN `role_user` ON `users.id` = `role_user.user_id` 
WHERE `role_user.role_id` = 2

架构表users

在此处输入图像描述

架构表role

在此处输入图像描述

标签: mysqlsql

解决方案


您需要在正确的位置设置反引号以转义对象名称(表和列名称)。因此,您应该将查询更改为以下内容:

SELECT * FROM `users` JOIN `role_user` ON `users`.`id` = `role_user`.`user_id` 
WHERE `role_user`.`role_id` = 2

推荐阅读