@@ -723,37 +723,27 @@ def transfer(self) -> None:
723
723
columns : t .List [str ] = [
724
724
safe_identifier_length (column [0 ]) for column in self ._sqlite_cur .description
725
725
]
726
+ sql : str
726
727
if self ._mysql_insert_method .upper () == "UPDATE" :
727
- sql : str
728
- if check_mysql_values_alias_support (self ._mysql_version ):
729
- sql = """
730
- INSERT
731
- INTO `{table}` ({fields})
732
- VALUES ({placeholders}) AS `__new__`
733
- ON DUPLICATE KEY UPDATE {field_updates}
734
- """ .format (
735
- table = safe_identifier_length (table ["name" ]),
736
- fields = ("`{}`, " * len (columns )).rstrip (" ," ).format (* columns ),
737
- placeholders = ("%s, " * len (columns )).rstrip (" ," ),
738
- field_updates = ("`{}`=`__new__`.`{}`, " * len (columns ))
739
- .rstrip (" ," )
740
- .format (* list (chain .from_iterable ((column , column ) for column in columns ))),
741
- )
742
- else :
743
- sql = """
744
- INSERT
745
- INTO `{table}` ({fields})
746
- VALUES ({placeholders})
747
- ON DUPLICATE KEY UPDATE {field_updates}
748
- """ .format (
749
- table = safe_identifier_length (table ["name" ]),
750
- fields = ("`{}`, " * len (columns )).rstrip (" ," ).format (* columns ),
751
- placeholders = ("%s, " * len (columns )).rstrip (" ," ),
752
- field_updates = ("`{}`=`{}`, " * len (columns ))
753
- .rstrip (" ," )
754
- .format (* list (chain .from_iterable ((column , column ) for column in columns ))),
755
- )
756
- print (sql )
728
+ sql = """
729
+ INSERT
730
+ INTO `{table}` ({fields})
731
+ {values_clause}
732
+ ON DUPLICATE KEY UPDATE {field_updates}
733
+ """ .format (
734
+ table = safe_identifier_length (table ["name" ]),
735
+ fields = ("`{}`, " * len (columns )).rstrip (" ," ).format (* columns ),
736
+ values_clause = (
737
+ "VALUES ({placeholders}) AS `__new__`"
738
+ if check_mysql_values_alias_support (self ._mysql_version )
739
+ else "VALUES ({placeholders})"
740
+ ).format (placeholders = ("%s, " * len (columns )).rstrip (" ," )),
741
+ field_updates = (
742
+ ("`{}`=`__new__`.`{}`, " * len (columns )).rstrip (" ," )
743
+ if check_mysql_values_alias_support (self ._mysql_version )
744
+ else ("`{}`=`{}`, " * len (columns )).rstrip (" ," )
745
+ ).format (* list (chain .from_iterable ((column , column ) for column in columns ))),
746
+ )
757
747
else :
758
748
sql = """
759
749
INSERT {ignore}
0 commit comments