diff options
Diffstat (limited to 'django/db/backends/mysql/operations.py')
-rw-r--r-- | django/db/backends/mysql/operations.py | 7 |
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( |