summaryrefslogtreecommitdiff
path: root/django/db/backends/mysql/operations.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/db/backends/mysql/operations.py')
-rw-r--r--django/db/backends/mysql/operations.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/django/db/backends/mysql/operations.py b/django/db/backends/mysql/operations.py
index 823090b9d1..7c4e21671b 100644
--- a/django/db/backends/mysql/operations.py
+++ b/django/db/backends/mysql/operations.py
@@ -441,7 +441,6 @@ class DatabaseOperations(BaseDatabaseOperations):
def on_conflict_suffix_sql(self, fields, on_conflict, update_fields, unique_fields):
if on_conflict == OnConflict.UPDATE:
conflict_suffix_sql = "ON DUPLICATE KEY UPDATE %(fields)s"
- field_sql = "%(field)s = VALUES(%(field)s)"
# The use of VALUES() is deprecated in MySQL 8.0.20+. Instead, use
# aliases for the new row and its columns available in MySQL
# 8.0.19+.
@@ -449,8 +448,10 @@ class DatabaseOperations(BaseDatabaseOperations):
if self.connection.mysql_version >= (8, 0, 19):
conflict_suffix_sql = f"AS new {conflict_suffix_sql}"
field_sql = "%(field)s = new.%(field)s"
- # VALUES() was renamed to VALUE() in MariaDB 10.3.3+.
- elif self.connection.mysql_version >= (10, 3, 3):
+ else:
+ field_sql = "%(field)s = VALUES(%(field)s)"
+ # Use VALUE() on MariaDB.
+ else:
field_sql = "%(field)s = VALUE(%(field)s)"
fields = ", ".join(