1052: Column 'x' in field list is ambiguous (columna ambigua en la lista de campos)
MySQL¿Qué significa?
Existe una columna con el mismo nombre en más de una tabla de la consulta y, como se usa sin prefijo de tabla/alias, MySQL no puede saber a qué tabla pertenece.
¿Por qué ocurre?
Ambas tablas combinadas tienen una columna con el mismo nombre (p. ej., id en ambas); la columna se escribe sin calificar (sin prefijo) en SELECT, WHERE, ON, GROUP BY u ORDER BY.
Cómo solucionarlo
Califique cada columna ambigua con el nombre o alias de la tabla: SELECT a.id, b.id FROM a JOIN b ON a.id = b.a_id; Asigne alias cortos a las tablas y anteponga el prefijo a todas las columnas en conflicto. Reduzca la ambigüedad en joins sobre columnas comunes con USING(my_column).
Más entradas de este motor
- 1366Incorrect string/integer value for column (valor de cadena/entero incorrecto para la columna)
- 1044Access denied for user to database (acceso denegado del usuario a la base de datos)
- 1264Out of range value for column (valor fuera de rango para la columna)
- 1136Column count doesn't match value count (el número de columnas no coincide con el de valores)
- 1048Column 'x' cannot be null (la columna no puede ser nula)
- 1292Incorrect datetime value / truncated incorrect value (valor de fecha/hora incorrecto / valor truncado)
- 1406Data too long for column (datos demasiado largos para la columna)