Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 错误的SQL未知列';role_user.role_id';在';其中第'条;_Mysql_Sql - Fatal编程技术网

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`

但这太过分了——打字更难,写起来也更难。不过,一般来说,请为列和表指定名称,这样它们就不需要转义了。

您可以更新您的问题吗;显示创建表用户;并显示创建表角色\用户;你能更新你的问题吗;显示创建表用户;并显示创建表角色\用户;