When using the MyISAM storage engine, MySQL uses extremely fast
table locking that permits multiple readers or a single writer.
The biggest problem with this storage engine occurs when you
have a steady stream of mixed updates and slow selects on a
single table. If this is a problem for certain tables, you can
use another storage engine for them. See Chapter 14, Storage
Engines. MySQL can work with both transactional and
nontransactional tables. To make it easier to work smoothly with
nontransactional tables (which cannot roll back if something
goes wrong), MySQL has the following rules. Note that these
rules apply only when not running in strict SQL mode or if you
use the IGNORE specifier for All columns have default values. If
you insert an inappropriate or out-of-range value into a column,
MySQL sets the column to the “best possible value” instead of
reporting an error. For numeric values, this is 0, the smallest
possible value or the largest possible value. For strings, this
is either the empty string or