簡體   English   中英

MySQL中的where子句中的列''不明確

[英]Column ' ' in where clause is ambiguous Error in mysql

SELECT tbl_user.userid,
       tbl_user.firstname,
       tbl_user.lastname,
       tbl_user.email,
       tbl_user.created,
       tbl_user.createdby,
       tbl_organisation.organisationname
FROM   tbl_user
       INNER JOIN tbl_organisation
         ON tbl_user.organisationid = tbl_organisation.organisationid
WHERE  organisationid = @OrganisationID;  

我正在使用此語句執行數據綁定。 我在這里出錯。

where子句不明確的“ OrganisationID”列

我該怎么辦,在tbl_user中將OrganisationID命名為與tbl_organisation相同是錯誤的。 OrganisationID是tbl_Organisation的外鍵

由於在兩個不同的表上有兩個具有相同名稱的列(這不是問題,在許多情況下甚至建議這樣做),因此必須通知MySQL您要作為過濾依據。

在列名之前添加表名(如果使用表別名,則添加別名)。 就您而言,

WHERE tbl_user.OrganisationID

要么

WHERE tbl_Organisation.OrganisationID

應該管用。

您只需要使用該語句指出要定位的表,例如“ tbl_user.OrganisationID”。 否則,引擎將不知道您的意思是哪個OrganisationID。

在兩個表中具有相同的列名是沒有錯的。 在很多(甚至大多數)情況下,實際上都是這樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM