DBAtlas · Atlas de operações de banco de dados

1052: Column 'x' in field list is ambiguous

MySQL

O que significa?

Existe uma coluna com o mesmo nome em mais de uma tabela da consulta e, como ela é usada sem prefixo de tabela/alias, o MySQL não consegue saber a qual tabela ela pertence.

Por que acontece?

Ambas as tabelas do join têm uma coluna com o mesmo nome (por exemplo, id nas duas); a coluna escrita sem qualificação (sem prefixo) no SELECT, WHERE, ON, GROUP BY ou ORDER BY.

Como resolver

Qualifique toda coluna ambígua com o nome ou o alias da tabela: SELECT a.id, b.id FROM a JOIN b ON a.id = b.a_id; Dê aliases curtos às tabelas e prefixe todas as colunas em conflito. Reduza a ambiguidade em joins por colunas comuns com USING(my_column).

Abrir no DBAtlas →

Mais entradas deste banco