Mysql – Why did error messages change after upgrading to MySQL 5.7.9

MySQL

I am running MySQL 5.7.9 on a Windows machine, upgraded recently from a 5.6.17.

I used to get explicit error message with my previous versio, but somehow since the upgrade I get very mysterious error message. For example I get:

SQLSTATE[42S22]: Column not found: 1054 Unknown error 1054

While I used to have something like stated in the doc:

SQLSTATE[42S22]: Unknown column '%s' in '%s'

It's way easier to debug when you know which column was not found, and where (in 'select list' or 'where clause', etc.).

My question is: how to get back to explicit error message? There must be a parameter somewhere but I haven't manage to find it so far.

Thanks!

Best Answer

An off-the-wall guess: You have a column (or something) that matches a new reserved word.

5.7 adds GENERATED, OPTIMIZER_COSTS, STORED, VIRTUAL as "Reserved" words, plus a number of "non-reserved" words. Details in keywords.html.

In some contexts, use of a keyword can lead to a cryptic error message. When you find the context, please file a bug report at http://bugs.mysql.com .

Another tip: Search for 1054 in your sources, then look at what immediately precedes it.