Mysql
 sql >> Base de données >  >> RDS >> Mysql

Relevés et transactions préparés MySQLi

Les relevés et les transactions préparés sont des techniques et des technologies indépendantes.

Vous pouvez émettre le START TRANSACTION et COMMIT /ROLLBACK commandes directement au lieu d'utiliser les méthodes dédiées. Ils sont fonctionnellement équivalents.

Pour votre boucle, vous émettez le START TRANSACTION avant votre prepare , puis votre COMMIT après la sortie de la boucle. Vous ne devriez probablement pas essayer d'ouvrir une transaction après le démarrage d'une instruction préparée mais avant son exécution.

Pour une raison quelconque, ils n'ont pas ajouté de commande "start transaction" en faveur de la désactivation de la validation automatique. C'est une de ces choses étranges à propos de mysqli qui me fait toujours recommander PDO à la place. :) L'ouverture d'une transaction désactive implicitement la validation automatique pour la durée de la transaction.