mybatis Column 'XXX' in where clause is ambiguous 錯誤


  • 觸發場景

    多表聯合查詢的時候,2個或多個表內有相同字段名,例如:user表內有字段名user_id,account表內有字段名user_id,那么在user表和account表聯合查詢的時候where條件如果不指定user_id屬於哪個表就會報錯。

  • 解決方法

       在聯表查詢語句中條件字段前面加上對應的表的別名。例如下面這個查詢語句:

      select

        u.id,u.user_id,u.user_name,a.user_id,a.money

      from account a left join user u on u.user_id = a.user_id

      where user_id = 1。

  這個語句里如果像上面這種寫法就會報如題這個錯誤:"Column 'user_id' in where clause is ambiguous"。這時只需要給where后面的user_id指定表名就可以了

  寫成如下語句:

      select

        u.id,u.user_id,u.user_name,a.user_id,a.money

      from account a left join user u on u.user_id = a.user_id

      where a.user_id = 1。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM