我在这个SQL中缺少什么?

时间:2012-03-03 19:10:04

标签: mysql sql

我为MySQL数据库编写了一些SQL。

SELECT U.Id, U.Name, U.Surname 
  FROM match M 
 INNER JOIN created_by C 
    ON C.MatchId = M.Id 
 INNER JOIN user U 
    ON U.Id = C.UserId 
 WHERE M.Id = 3

我发疯了因为它似乎没有错,但解释器说'match M INNER JOIN created_by C ON C.MatchId=M.Id INNER JOIN user U O'附近有语法错误。

感谢您的任何建议。

2 个答案:

答案 0 :(得分:8)

MATCHMySQL reserved keyword。如果您打算将其用作列名或表名,请将其括在反引号中。

SELECT U.Id, U.Name, U.Surname 
  FROM `match` M 

答案 1 :(得分:3)

我认为 user& match是一个保留关键字。你需要逃脱它。请尝试以下查询

SELECT U.Id, U.Name, U.Surname 
  FROM `match` M 
 INNER JOIN `created_by` C 
    ON C.MatchId = M.Id 
 INNER JOIN `user` U 
    ON U.Id = C.UserId 
 WHERE M.Id = 3