1052: Column 'x' in field list is ambiguous
MySQL의미
쿼리의 여러 테이블에 같은 이름의 컬럼이 있고 테이블/alias 접두어 없이 사용되어, MySQL이 어느 테이블의 컬럼인지 알 수 없다.
원인
조인된 두 테이블 모두에 같은 이름의 컬럼이 있음(예: 양쪽의 id). SELECT, WHERE, ON, GROUP BY 또는 ORDER BY에서 컬럼을 한정하지 않고(접두어 없이) 작성함.
해결 방법
모호한 모든 컬럼을 테이블 이름 또는 alias로 한정한다: SELECT a.id, b.id FROM a JOIN b ON a.id = b.a_id; 테이블에 짧은 alias를 붙이고 충돌하는 모든 컬럼에 접두어를 붙인다. 공통 컬럼 기준 조인에서는 USING(my_column)으로 모호성을 줄인다.