Error map

ambiguous column Column reference is ambiguous / Column 'id' in field list is ambiguous (MySQL 1052)

SQL · layer 5, Data

Open the full error page →

Centre: this error. First ring: errors it is linked with (12). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.

ambiguous column — Column reference is ambiguous / Column 'id' in field list is ambiguous (MySQL 1052) (SQL)ambiguous c…SQLite syntax error — sqlite3.OperationalError: near "x": syntax error (SQL)SQLite syntax error1267 — MySQL ERROR 1267 (HY000): Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation '=' (SQL)1267GROUP BY — Column must appear in the GROUP BY clause / isn't in GROUP BY (MySQL 1055 only_full_group_by) (SQL)GROUP BY1136 — MySQL ERROR 1136 (21S01): Column count doesn't match value count at row 1 (SQL)1136missing FROM-clause — ERROR: missing FROM-clause entry for table "x" (PostgreSQL)missing FROM-clauseORA-00933 — ORA-00933: SQL command not properly ended (SQL)ORA-009331248 — MySQL ERROR 1248 (42000): Every derived table must have its own alias (SQL)124842703 — PostgreSQL: ERROR: column "x" does not exist (PostgreSQL)42703102 — SQL Server: Incorrect syntax near 'x'. (Msg 102) (SQL)102window in WHERE — ERROR: window functions are not allowed in WHERE (SQL)window in WHERE1222 — MySQL ERROR 1222 (21000): The used SELECT statements have a different number of columns (SQL)12221064 — MySQL ERROR 1064 (42000): You have an error in your SQL syntax (MySQL)1064SQLITE_BUSY — sqlite3.OperationalError: database is locked (SQLITE_BUSY) (SQL)SQLITE_BUSYSQLite FK failed — sqlite3.IntegrityError: FOREIGN KEY constraint failed (SQL)SQLite FK failedreadonly database — sqlite3.OperationalError: attempt to write a readonly database (SQL)readonly database1366 — MySQL ERROR 1366: Incorrect string value: '\xF0\x9F\x98\x80' for column (MySQL)13661071 — MySQL ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes (MySQL)1071Unknown collation — MySQL ERROR 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci' (MySQL)Unknown collationSubquery returns more than 1 row — Subquery returns more than 1 row (MySQL 1242) / more than one row returned by a subquery used as an expression (SQL)Subquery returns mo…Division by zero — SQL Error: division by zero / Divide by zero error encountered (SQL)Division by zero42601 — ERROR: syntax error at or near "x" (PostgreSQL)426011066 — MySQL ERROR 1066 (42000): Not unique table/alias: 'x' (SQL)1066aggregate in WHERE — ERROR: aggregate functions are not allowed in WHERE (use HAVING) / MySQL 1111 Invalid use of group function (SQL)aggregate in WHERErecursion limit — Msg 530: The statement terminated. The maximum recursion 100 has been exhausted before statement completion. / MySQL 3636 Recursive query aborted after 1001 iterations (SQL)recursion limitORA-00942 — ORA-00942: table or view does not exist (SQL)ORA-00942ORA-00904 — ORA-00904: "X": invalid identifier (SQL)ORA-00904ORA-00001 — ORA-00001: unique constraint (SCHEMA.PK_X) violated (SQL)ORA-000011054 — MySQL ERROR 1054 (42S22): Unknown column in 'field list' (MySQL)105442P01 — PostgreSQL: ERROR: relation "x" does not exist (PostgreSQL)42P0123505 — PostgreSQL: ERROR: duplicate key value violates unique constraint (PostgreSQL)235052627 — SQL Server: Violation of PRIMARY KEY constraint 'x'. Cannot insert duplicate key in object 'y'. (Msg 2627) (SQL)2627245 — SQL Server: Conversion failed when converting the varchar value 'x' to data type int. (Msg 245) (SQL)2458115 — SQL Server: Arithmetic overflow error converting expression to data type int. (Msg 8115) (SQL)81151146 — MySQL ERROR 1146 (42S02): Table 'db.table' doesn't exist (MySQL)1146mysqli_sql_exception — Fatal error: Uncaught mysqli_sql_exception (PHP)mysqli_sql_exceptionParse error — PHP Parse error: syntax error, unexpected … (PHP)Parse error

Directly related (12)

SQLite syntax errorSQL

sqlite3.OperationalError: near "x": syntax error

SQLite couldn’t parse the statement; the token after “near” is where it stopped.

1267SQL

MySQL ERROR 1267 (HY000): Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation '='

Two strings with different collations were compared or joined.

GROUP BYSQL

Column must appear in the GROUP BY clause / isn't in GROUP BY (MySQL 1055 only_full_group_by)

You selected a column that is neither grouped nor aggregated, so the result would be ambiguous.

1136SQL

MySQL ERROR 1136 (21S01): Column count doesn't match value count at row 1

An INSERT supplies a different number of values than columns.

missing FROM-clausePostgreSQL

ERROR: missing FROM-clause entry for table "x"

The query references a table/alias that isn’t in the FROM clause (or uses the wrong alias).

ORA-00933SQL

ORA-00933: SQL command not properly ended

Oracle found extra clauses or syntax it doesn’t support at the end of a statement.

1248SQL

MySQL ERROR 1248 (42000): Every derived table must have its own alias

A subquery in FROM wasn’t given an alias.

42703PostgreSQL

PostgreSQL: ERROR: column "x" does not exist

PostgreSQL can’t find the column — a missing migration, a case-sensitive quoted name, or a string literal written in double quote…

102SQL

SQL Server: Incorrect syntax near 'x'. (Msg 102)

T-SQL couldn’t parse the statement near the shown token.

window in WHERESQL

ERROR: window functions are not allowed in WHERE

A window function (ROW_NUMBER, RANK, LAG) was filtered directly in WHERE.

1222SQL

MySQL ERROR 1222 (21000): The used SELECT statements have a different number of columns

The SELECTs combined with UNION return different numbers of columns.

1064MySQL

MySQL ERROR 1064 (42000): You have an error in your SQL syntax

MySQL couldn’t parse the query. The text after “near” shows where parsing failed.

Two steps away (24)

SQLITE_BUSYSQL

sqlite3.OperationalError: database is locked (SQLITE_BUSY)

Another connection holds a write lock on the SQLite file, and this one gave up waiting.

SQLite FK failedSQL

sqlite3.IntegrityError: FOREIGN KEY constraint failed

An insert/update/delete violated a foreign key in SQLite (with PRAGMA foreign_keys=ON).

readonly databaseSQL

sqlite3.OperationalError: attempt to write a readonly database

The process can’t write to the SQLite file or its directory.

1366MySQL

MySQL ERROR 1366: Incorrect string value: '\xF0\x9F\x98\x80' for column

The text contains characters (usually emoji) that the column’s character set can’t store — the column or connection is `utf8`/`ut…

1071MySQL

MySQL ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

An index on a VARCHAR is too long for the row format — classic with utf8mb4 VARCHAR(255) on MySQL 5.6/MariaDB 10.1.

Unknown collationMySQL

MySQL ERROR 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci'

A dump from MySQL 8 uses a collation the target server (MySQL 5.7 / MariaDB) doesn’t support.

Subquery returns more than 1 rowSQL

Subquery returns more than 1 row (MySQL 1242) / more than one row returned by a subquery used as an expression

A subquery used where a single value is expected (`= (SELECT …)`) returned several rows.

Division by zeroSQL

SQL Error: division by zero / Divide by zero error encountered

An expression divided by a value that was 0 for at least one row.

42601PostgreSQL

ERROR: syntax error at or near "x"

PostgreSQL couldn’t parse the SQL; the token shown is where parsing failed.

1066SQL

MySQL ERROR 1066 (42000): Not unique table/alias: 'x'

The same table or alias appears twice in a FROM/JOIN without distinct aliases.

aggregate in WHERESQL

ERROR: aggregate functions are not allowed in WHERE (use HAVING) / MySQL 1111 Invalid use of group function

An aggregate (SUM, COUNT, AVG) was used in WHERE, which filters rows before grouping.

recursion limitSQL

Msg 530: The statement terminated. The maximum recursion 100 has been exhausted before statement completion. / MySQL 3636 Recursive query aborted after 1001 iterations

A recursive CTE exceeded the database’s recursion limit — often an infinite loop in hierarchical data.

ORA-00942SQL

ORA-00942: table or view does not exist

Oracle can’t see the table — it doesn’t exist, is in another schema, or you lack privileges on it.

ORA-00904SQL

ORA-00904: "X": invalid identifier

A column name in the statement doesn’t exist (or is misquoted).

ORA-00001SQL

ORA-00001: unique constraint (SCHEMA.PK_X) violated

An insert/update duplicated a value in a unique or primary key constraint.

1054MySQL

MySQL ERROR 1054 (42S22): Unknown column in 'field list'

The query references a column that doesn’t exist in the table (or an unquoted string being read as a column).

42P01PostgreSQL

PostgreSQL: ERROR: relation "x" does not exist

The table/view isn’t found — missing migration, wrong schema, or a case-sensitive quoted name.

23505PostgreSQL

PostgreSQL: ERROR: duplicate key value violates unique constraint

An INSERT/UPDATE would create a duplicate in a UNIQUE or PRIMARY KEY column — or the id sequence is behind the existing data.

2627SQL

SQL Server: Violation of PRIMARY KEY constraint 'x'. Cannot insert duplicate key in object 'y'. (Msg 2627)

An insert duplicated a primary key or unique constraint value.

245SQL

SQL Server: Conversion failed when converting the varchar value 'x' to data type int. (Msg 245)

SQL Server tried to convert text to a number (often implicitly) and hit a non-numeric value.

8115SQL

SQL Server: Arithmetic overflow error converting expression to data type int. (Msg 8115)

A value or calculation exceeds the target data type’s range.

1146MySQL

MySQL ERROR 1146 (42S02): Table 'db.table' doesn't exist

The query references a table that MySQL can’t find in that database.

mysqli_sql_exceptionPHP

Fatal error: Uncaught mysqli_sql_exception

A MySQLi query or connection failed; since PHP 8.1 MySQLi throws exceptions by default.

Parse errorPHP

PHP Parse error: syntax error, unexpected …

PHP can’t parse the file because of a syntax mistake — the real error is often on the line before the one reported.