Is it possible to define a timestamp column that is not null and has no default and no special behavior on update?

Timestamp columns are a special case. See here: By default, TIMESTAMP columns are NOT NULL, cannot contain NULL values, and assigning NULL assigns the current timestamp. For more detailed information read up on Data Type Default Values. Specifically that situation applies when not running in strict mode. If running in strict mode, inserting a NULL … Read more

MyIsam engine transaction support

MyISAM effectively works in auto-commit mode (as it’s not a transactional engine), and it just ignores the commit/rollback. Actually storage engine is a different layer in the MySQL architecture, separated from the SQL parser, the SQL layer communicates to the storage engine with lower-level API, and that’s the reason there is a common SQL and … Read more

MySQL – SQL_BIG_SELECTS

MySQL determines whether or not a query is a ‘big select’ based on the value of ‘max_join_size’. If the query is likely to have to examine more than this number of rows, it will consider it a ‘big select’. Use ‘show variables’ to view the value of the max join size. I believe that indexing … Read more