“The Colonoscopy of Database Software”
– Jim Starkey
If your project does not have something that you can adapt that quote to, odds are your testing is inadequate.
MySQL does not follow the ANSI SQL standard for quoting. MySQL’s default quoting behavior is that either single or double quotes can be used to quote a string (this gets me into trouble when I work with Oracle databases, as double quotes do not indicate a string!).
mysql> SELECT 'alive'; +-------+ | alive | +-------+ | alive | +-------+ 1 row in set (0.00 sec) mysql> SELECT "alive"; +-------+ | alive | +-------+ | alive | +-------+ 1 row in set (0.00 sec)
Bare words are dealt with in context; in this case, a bare word would be parsed as a column name:
mysql> SELECT alive; ERROR 1054 (42S22): Unknown column 'alive' in 'field list'
Backquotes are the way MySQL escapes table names. So, if you want
a reserved word, number or operator to be the name of an object
(ie, a table named “1″ or a column named “date”) you need to use
backquotes to avoid a syntax error….for example:
mysql> …[Read more]
“If you keep doing what you’ve always done, you’ll keep getting what you’ve always gotten.”
Motivational speaker and author