본문 바로가기
[개발] 데이터베이스/MySQL

에러) Column in field list is ambiguous

by Devsong26 2024. 10. 23.

원인

  • SQL 쿼리에서 동일한 이름의 컬럼이 여러 테이블에 존재할 때 발생합니다.
  • 이 경우 MySQL이 어느 테이블의 컬럼을 사용할지 명확하지 않기 때문에 이 에러를 발생시킵니다.
SELECT id, name
FROM users u 
INNER JOIN orders o ON u.id = o.user_id

 

해결 방법

  • 테이블 명시하기 (또는 별칭 사용하기)
    • 동일한 이름의 컬럼이 있을 경우, 어느 테이블의 컬럼을 사용할 것인지 명확하게 지정합니다.
SELECT u.id, u.name, o.id
FROM users u 
INNER JOIN orders o ON u.id = o.user_id