diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt index 7a766bcf21..d525224dd6 100644 --- a/docs/ref/databases.txt +++ b/docs/ref/databases.txt @@ -612,10 +612,17 @@ both MySQL and Django will attempt to convert the values from UTC to local time. Row locking with ``QuerySet.select_for_update()`` ------------------------------------------------- -MySQL does not support the ``NOWAIT``, ``SKIP LOCKED``, and ``OF`` options to -the ``SELECT ... FOR UPDATE`` statement. If ``select_for_update()`` is used -with ``nowait=True``, ``skip_locked=True``, or ``of`` then a -:exc:`~django.db.NotSupportedError` is raised. +MySQL does not support some options to the ``SELECT ... FOR UPDATE`` statement. +If ``select_for_update()`` is used with an unsupported option, then +a :exc:`~django.db.NotSupportedError` is raised. + +=============== ========== +Option MySQL +=============== ========== +``SKIP LOCKED`` X (≥8.0.1) +``NOWAIT`` X (≥8.0.1) +``OF`` +=============== ========== When using ``select_for_update()`` on MySQL, make sure you filter a queryset against at least set of fields contained in unique constraints or only against diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index 7880d0eed7..3ccd5958fd 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -1711,7 +1711,8 @@ them:: Currently, the ``postgresql``, ``oracle``, and ``mysql`` database backends support ``select_for_update()``. However, MySQL doesn't support the -``nowait``, ``skip_locked``, and ``of`` arguments. +``of`` argument and the ``nowait`` and ``skip_locked`` arguments are supported +only on MySQL 8.0.1+. Passing ``nowait=True``, ``skip_locked=True``, or ``of`` to ``select_for_update()`` using database backends that do not support these