Mysql sql:ODBC保留关键字

Mysql sql:ODBC保留关键字,mysql,sql,Mysql,Sql,我的mysql数据库中有一个名为level的列。 我正在尝试编写一个sql语句,其中一个参数当然是level。但是我犯了一个错误。我知道这是因为我使用了一个受保护的词,所以我怎么能在我的声明中仍然使用它。我是不是把它放在逗号里了 来自评论 1052-where子句中的“级别”列不明确 上面的错误消息告诉您,有多个表具有名为level的列,因此您必须在level列前面加上要在WHERE子句中比较其列级别的表的表别名。在下面的查询中,我假设您想要学校表级别列,所以像这样使用s.level SELEC

我的mysql数据库中有一个名为level的列。 我正在尝试编写一个sql语句,其中一个参数当然是level。但是我犯了一个错误。我知道这是因为我使用了一个受保护的词,所以我怎么能在我的声明中仍然使用它。我是不是把它放在逗号里了

来自评论

1052-where子句中的“级别”列不明确 上面的错误消息告诉您,有多个表具有名为level的列,因此您必须在level列前面加上要在WHERE子句中比较其列级别的表的表别名。在下面的查询中,我假设您想要
学校
级别
列,所以像这样使用s.level

SELECT u.ck_id,u.firstname, u.lastname, sc.class_description, 
       s.name, GROUP_CONCAT(correct) 
FROM game_statistics gs 
INNER JOIN users1 u ON u.id = gs.user_id 
INNER JOIN school_classes sc ON sc.id = u.class_id 
INNER JOIN schools s ON s.id = sc.school_id 
WHERE game_type = 'exammultiple' AND gs.created_at >= '2018-03-01' 
      AND time >='40' AND s.`level` = '6' 
GROUP BY user_id 
ORDER By name ASC, class_description ASC 

您可以根据自己的意愿更改为正确的表别名。

使用反勾号将保留字括起来``您应该避免将保留字用作表/列标识符
级别
='6',但它仍然不允许我使用。啊,我的评论中没有出现反勾号。我把它们放在前后。草莓-我知道,但我现在不打算更改列名,因为它会弄乱我的前端。谢谢我在哪里接受你的回答?我看不到“接受”按钮。在箭下找到了,但它不会让我投票。谢谢