sql >> Databasteknik >  >> RDS >> Mysql

MySQLi förberedda uttalanden och transaktioner

Förberedda uttalanden och transaktioner är orelaterade tekniker och teknologier.

Du kanske vill utfärda START TRANSACTION och COMMIT /ROLLBACK kommandon direkt istället för att använda de dedikerade metoderna. De är funktionellt likvärdiga.

För din loop skulle du utfärda START TRANSACTION före din prepare , sedan din COMMIT efter att slingan går ut. Du bör förmodligen inte försöka öppna en transaktion efter att ett förberett uttalande har startat men innan det har utförts.

Av någon anledning lade de inte till ett "start transaktion"-kommando till förmån för att stänga av autocommit. Det är en av de där konstiga sakerna med mysqli som gör att jag alltid rekommenderar PDO istället. :) Att öppna en transaktion stänger implicit av autocommit under transaktionens varaktighet.




  1. Jämföra strukturer för två databaser?

  2. UNIX_TIMESTAMP() Exempel – MySQL

  3. Replikera en enda tabell

  4. Hur infogar man värden i tabell med främmande nyckel med MySQL?