2014-12-26 35 views
-2

當我運行這段代碼:MySQL的:未知列「where子句」

SELECT * 
FROM `page` `p` LEFT JOIN `lang` `l` 
ON `p.id`=`l.pageID` 
WHERE `p.textID`='home' 
    AND `l.language`='EN' 

我得到這個錯誤:

Unknown column 'p.textID' in 'where clause' 

即使我敢肯定,有一個叫textID列在表page中。

lang表有以下欄目:idpageIDnavTitletitlecontentlanguage
page表具有以下列:id,textIDnav

什麼可能會導致此錯誤?

+0

嘗試\'p \'。\'textID \'或刪除撇號。 –

回答

3

如果你要包裝你的標識符反引號,你需要做的它分別爲表和列名稱。

所以你需要,例如,

`p`.`textID` 

而不是

`p.textID` 

這同樣適用於在查詢中的其它標識符。

+0

找到這個答案對'backticks'有用+1:o) – Muleskinner

3

`p.textID` 

`p`.`textID` 

,而不是

`l.language` 

`l`.`language` 
2

我敢肯定這應該是例如:

`p`.`id` 

而不是

`p.id` 

等等...