Exécution d'un INSERT... ON DUPLICATE KEY UPDATE dans SQLAlchemy
SQLAlchemy propose une méthode concise pour exécuter INSERT... ON DUPLICATE KEY Déclarations UPDATE.
Avec ON DUPLICATE KEY UPDATE dans l'instruction SQL
Pour l'inclusion directe de la clause ON DUPLICATE KEY UPDATE dans le SQL généré, le décorateur @compiles peut être utilisé. Une fonction compilable peut être conçue pour ajouter la chaîne souhaitée à l'instruction INSERT.
Dans l'ORM
Bien que SQLAlchemy ne prenne pas en charge nativement ON DUPLICATE KEY UPDATE dans son ORM , il fournit la fonction merge(). Cette fonction compare la valeur de clé primaire d'un objet pour déterminer si une UPDATE ou une INSERT doit être effectuée. Cependant, merge() est limité aux clés primaires.
Alternative pour les clés non primaires
Pour obtenir la fonctionnalité ON DUPLICATE KEY UPDATE avec des clés non primaires, une personnalisation une fonction similaire à get_or_create() de Django peut être créée. Cette fonction recherche une instance existante dans la base de données et renvoie l'instance trouvée ou en crée une nouvelle si aucune n'existe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!