Den gamle mysql-udvidelse har ikke funktioner specifikt til transaktionskontrol, men du kan udstede SQL-sætninger for at gøre, hvad du vil.
Du kan implicit deaktivere autocommit for varigheden af en transaktion blot ved at starte en transaktion:
mysql_query("START TRANSACTION");
Så snart du COMMIT eller ROLLBACK, vil autocommit-tilstanden vende tilbage til standard.
mysql_query("COMMIT"); // or ROLLBACK
Du kan slå autocommit fra for hele din session ved at indstille en sessionsvariabel:
mysql_query("SET autocommit=0");
Eller skift det globalt på din MySQL-instans, så det ændrer standarden for alle sessioner:
mysql_query("SET GLOBAL autocommit=0");
Eller indstil den til at ændre den globale indstilling ved opstart af MySQL-tjenesten ved at redigere /etc/my.cnf:
[mysqld]
autocommit=0
Hvis du bruger MySQL 5.1, skal du gøre dette lidt anderledes:
[mysqld]
init_connect='SET autocommit=0'
Du ved det sikkert allerede, men det tåler at gentages, at transaktioner kun betyder noget, hvis du bruger InnoDB-tabeller. MyISAM-tabeller understøtter ikke transaktioner, så de er altid autocommit uanset dine indstillinger. Det samme med flere andre lagringsmotorer, inklusive MEMORY og CSV.