- This is not an "anti-MySQL" list, although it does contain critical comments;
- MySQL is continually improving and some of the points listed here are no longer valid for recent versions;
- This page has not been updated for a long time
- This page deals with issues related to MySQL 4.1 and earlier, not 5.0
- There's a list for PostgreSQL too.
- This page may not render well in Internet Explorer, run along and get yourself a proper browser.
Table of Contents
It's not a bug - it's a gotcha. A "gotcha" is a feature or function which works as advertised - but not as expected.
When working with the MySQL ™ database server I have repeatedly encountered situations where the results of various actions have been unexpected and/or contrary to the behaviour generally expected of an SQL relational database. The cause can usually be traced
to implementation details which are documented in the manual. I have created this list in order to further a better understanding of the MySQL database server and hopefully save others unnecessary headscratching.
(For known bugs see this page in the MySQL documentation: http://dev.mysql.com/doc/mysql/en/Open_bugs.html ).
The MySQL database server is being continually improved. Some gotchas described here are no longer relevant for the latest versions; in these cases the version numbers affected are noted at the top of each section. As a rule gotchas have been tested against the most recent stable versions from the 3.23.x, 4.0.x and 4.1.x series.
Corrections, suggestions and comments are welcome: <firstname.lastname@example.org >.
Note: this document contains many examples as they would appear in the MySQL command line client mysql ("mysql monitor"). For convenience, where statements are more than one line, the continuation prompt -> has been omitted, so the statement can be copied directly from this page.