Det gamla mysql-tillägget har inte funktioner specifikt för transaktionskontroll, men du kan utfärda SQL-satser för att göra vad du vill.
Du kan implicit stänga av autocommit under en transaktions varaktighet helt enkelt genom att starta en transaktion:
mysql_query("START TRANSACTION");
Så snart du COMMIT eller ROLLBACK, kommer autocommit-läget att återgå till standardläget.
mysql_query("COMMIT"); // or ROLLBACK
Du kan stänga av autocommit för hela sessionen genom att ställa in en sessionsvariabel:
mysql_query("SET autocommit=0");
Eller ändra det globalt på din MySQL-instans så att det ändrar standard för alla sessioner:
mysql_query("SET GLOBAL autocommit=0");
Eller ställ in den för att ändra den globala inställningen vid start av MySQL-tjänsten genom att redigera /etc/my.cnf:
[mysqld]
autocommit=0
Om du använder MySQL 5.1 måste du göra detta lite annorlunda:
[mysqld]
init_connect='SET autocommit=0'
Du vet förmodligen redan, men det tål att upprepas att transaktioner bara betyder någonting om du använder InnoDB-tabeller. MyISAM-tabeller stöder inte transaktioner, så de är alltid autocommit oavsett dina inställningar. Samma sak med flera andra lagringsmotorer, inklusive MEMORY och CSV.