2 ms·
This is indeed the case. To clarify a little: - STRICT_TRANS_TABLES is on by default for "new installations" starting from MySQL 5.6 (2013). What this means
by morgo 12y ago
This is indeed the case. To clarify a little:
- STRICT_TRANS_TABLES is on by default for "new installations" starting from MySQL 5.6 (2013). What this means is that the bundled config files all turn it on.
- Starting from MySQL 5.7, it is a compiled default, along with several other more "strict" options. Effectively making it default to ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO,
NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER.
I have some sample configuration files to make 5.6 behave like 5.7's strictness. For example: https://github.com/morgo/mysql-compatibility-config/blob/master/mysql-56/mysql-57-proposed.cnf https://github.com/morgo/mysql-compatibility-config/blob/mas...
It does make upgrades harder, so some applications may also need to use a whitelist/blacklist approach to transition:
http://www.tocker.ca/2014/09/01/suggestions-for-transitioning-into-strict-sql-mode.html http://www.tocker.ca/2014/09/01/suggestions-for-transitionin...