Commit 99bec24f authored by Claude Paroz's avatar Claude Paroz
Browse files

[1.9.x] Fixed #15940 -- Added MySQL note about strict SQL mode

Backport of b2aab09f from master.
parent 1ef5a328
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -439,6 +439,24 @@ more details.
.. _MySQL option file: https://dev.mysql.com/doc/refman/5.6/en/option-files.html
.. _MySQLdb documentation: http://mysql-python.sourceforge.net/

.. _mysql-sql-mode:

Setting ``sql_mode``
~~~~~~~~~~~~~~~~~~~~

From MySQL 5.7 onwards and on fresh installs of MySQL 5.6, the default value of
the ``sql_mode`` option contains ``STRICT_TRANS_TABLES``. That option escalates
warnings into errors when data are truncated upon insertion, so Django highly
recommends activating a `strict mode`_ for MySQL to prevent data loss (either
``STRICT_TRANS_TABLES`` or ``STRICT_ALL_TABLES``).

.. _strict mode: https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-strict

If you need to customize the SQL mode, you can set the ``sql_mode`` variable
like other MySQL options: either in a config file or with the entry
``'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"`` in the
:setting:`OPTIONS` part of your database configuration in :setting:`DATABASES`.

Creating your tables
--------------------