2012-03-03 89 views
0

我已經爲MySQL數據庫寫了一些SQL。我在這個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'語法錯誤。

感謝您的任何建議。

+0

它是一個表..的[語法錯誤,由於使用一個保留字用作在MySQL表或列名] – 2012-03-03 19:15:50

+0

可能重複(http://stackoverflow.com/questions/23446377 /句法錯誤,由於對使用-A-保留字作爲一種表-或列名稱合的MySQL) – 2014-05-06 10:12:51

回答

8

MATCHMySQL reserved keyword。如果您打算將它用作列名或表名,請將其用反引號括起來。

SELECT U.Id, U.Name, U.Surname 
    FROM `match` M 
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 
相關問題