Mysql 错误的SQL未知列';role_user.role_id';在';其中第'条;
我有以下代码:Mysql 错误的SQL未知列';role_user.role_id';在';其中第'条;,mysql,sql,Mysql,Sql,我有以下代码: SELECT * FROM `users` JOIN `role_user` ON `users.id` = `role_user.user_id` WHERE `role_user.role_id` = 2 架构表用户: 架构表角色: 您需要在正确的位置设置反勾号以转义(表名和列名)。因此,您应该将查询更改为以下内容: SELECT * FROM `users` JOIN `role_user` ON `users`.`id` = `role_user`.`user_id
SELECT * FROM `users` JOIN `role_user` ON `users.id` = `role_user.user_id`
WHERE `role_user.role_id` = 2
架构表用户
:
架构表角色
:
您需要在正确的位置设置反勾号以转义(表名和列名)。因此,您应该将查询更改为以下内容:
SELECT * FROM `users` JOIN `role_user` ON `users`.`id` = `role_user`.`user_id`
WHERE `role_user`.`role_id` = 2
您需要在正确的位置设置反勾号以转义(表名和列名)。因此,您应该将查询更改为以下内容:
SELECT * FROM `users` JOIN `role_user` ON `users`.`id` = `role_user`.`user_id`
WHERE `role_user`.`role_id` = 2
查询根本不需要反勾号。此外,我建议您使用表别名。更具可读性的查询形式如下所示:
SELECT *
FROM users u JOIN
role_user ru
ON u.id = ur.user_id
WHERE ru.role_id = 2;
在单个引用中,背景标记之间的所有内容。所以
`role_user.user_id`
引用具有该名称的单个列,而不是role\u user
中的user\u id
列。您可以将所需的列称为:
`role_user`.`user_id`
但这太过分了——打字更难,写起来也更难。不过,一般来说,为列和表指定名称,这样它们就不需要转义。查询根本不需要反勾号。此外,我建议您使用表别名。更具可读性的查询形式如下所示:
SELECT *
FROM users u JOIN
role_user ru
ON u.id = ur.user_id
WHERE ru.role_id = 2;
在单个引用中,背景标记之间的所有内容。所以
`role_user.user_id`
引用具有该名称的单个列,而不是role\u user
中的user\u id
列。您可以将所需的列称为:
`role_user`.`user_id`
但这太过分了——打字更难,写起来也更难。不过,一般来说,请为列和表指定名称,这样它们就不需要转义了。您可以更新您的问题吗;显示创建表用户;并显示创建表角色\用户;你能更新你的问题吗;显示创建表用户;并显示创建表角色\用户;