Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Django:Verwenden von benutzerdefinierten rohen SQL-Einfügungen mit executemany und MySQL

Hier ist eine Lösung, die tatsächlich executemany() verwendet!

Grundsätzlich die Idee im Beispiel hier wird funktionieren.

Beachten Sie jedoch, dass Sie in Django anstelle des Fragezeichens den Platzhalter %s verwenden müssen.

Außerdem möchten Sie Ihre Transaktionen verwalten. Ich werde hier nicht weiter darauf eingehen, da eine Menge Dokumentation verfügbar ist.

    from django.db import connection,transaction
    cursor = connection.cursor()
    
    
    
    query = ''' INSERT INTO table_name 
            (var1,var2,var3) 
            VALUES (%s,%s,%s) '''
    
    
    query_list = build_query_list() 
    
    # here build_query_list() represents some function to populate
    # the list with multiple records
    # in the tuple format (value1, value2, value3).
    
    
    cursor.executemany(query, query_list)
    
    transaction.commit()