Heim >Datenbank >MySQL-Tutorial >Wie kann ich INSERT ... ON DUPLICATE KEY UPDATE in SQLAlchemy effizient durchführen?
Durchführen eines INSERT ... ON DUPLICATE KEY UPDATE in SQLAlchemy
SQLAlchemy bietet eine prägnante Methode zum Ausführen von INSERT ... ON DUPLICATE KEY UPDATE-Anweisungen.
Mit ON DUPLICATE KEY UPDATE im SQL-Statement
Zur direkten Einbindung der ON DUPLICATE KEY UPDATE-Klausel in das generierte SQL kann der @compiles-Dekorator eingesetzt werden. Es kann eine kompilierbare Funktion erstellt werden, um die gewünschte Zeichenfolge an die INSERT-Anweisung anzuhängen.
Innerhalb des ORM
Während SQLAlchemy ON DUPLICATE KEY UPDATE in seinem ORM nicht nativ unterstützt , stellt es die Funktion merge() bereit. Diese Funktion vergleicht den Primärschlüsselwert eines Objekts, um zu bestimmen, ob ein UPDATE oder ein INSERT durchgeführt werden sollte. Allerdings ist merge() auf Primärschlüssel beschränkt.
Alternative für Nicht-Primärschlüssel
Um die ON DUPLICATE KEY UPDATE-Funktionalität mit Nicht-Primärschlüsseln zu erreichen, ist eine benutzerdefinierte Option erforderlich Eine ähnliche Funktion wie get_or_create() von Django kann erstellt werden. Diese Funktion sucht nach einer vorhandenen Instanz in der Datenbank und gibt die gefundene Instanz zurück oder erstellt eine neue, wenn keine vorhanden ist.
Das obige ist der detaillierte Inhalt vonWie kann ich INSERT ... ON DUPLICATE KEY UPDATE in SQLAlchemy effizient durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!