Reputation: 1160
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near [random snippet of query code]
I am very rarely able to deduce something of value from MySQL errors like that one, is there any way to get some more specific data?
I've seen people dismiss this question saying that it's impossible to get exact error data because of how MySQL's syntax works. Is that really so?
Upvotes: 2
Views: 1833
Reputation: 700182
It's not only MySQL that gives syntax errors like that, MS SQL Server gives very similar messages.
The error message is very accurate in the sense that the code shown in the error message is the exact position where the parser determined that it could no longer go on with parsing the query.
However, the actual error in the query is often somewhat earlier in the query. If you for example misspelled "from" in a query as "fom", the parser will go on thinking that "fom" is an alias for the last field that came before that, and give you a syntax error when it finds a table name instead of the expected comma or "from" keyword. It will point to the table name as the position of the error instead of the misspelled keyword.
Upvotes: 3
Reputation: 6323
Sometimes it helps to break down your query into several lines instead of just one long one. This will still show you only the approximate position of your error, but it might help a bit.
Upvotes: 1