MySQL WHERE 子句中的「user_id」欄位不明確
執行下列MySQL 查詢時,您可能會遇到錯誤,指示「user_id」 WHERE 子句中的' 欄位不明確:
SELECT user.*, user_info.* FROM user INNER JOIN user_info ON user.user_id = user_info.user_id WHERE user_id=1
錯誤原因:
發生此錯誤是因為'user' 和'user_info' 表都有名為“user_id”的欄位。如果沒有在 WHERE 子句中指定要使用哪個資料表的“user_id”,MySQL 將無法確定要引用哪一列。
解決方案:
要解決此歧義,您可以需要透過在「user_id」欄位之前新增表名來明確指定要使用的欄位:
SELECT user.*, user_info.* FROM user INNER JOIN user_info ON user.user_id = user_info.user_id WHERE user.user_id=1
透過新增「user.」。在「user_id」之前,您指定應在 WHERE 子句中使用「user」表中的「user_id」列。這消除了歧義並允許 MySQL 正確執行查詢。
以上是為什麼我的 MySQL WHERE 子句中的「user_id」不明確?的詳細內容。更多資訊請關注PHP中文網其他相關文章!