De oude mysql-extensie heeft geen functies specifiek voor transactiecontrole, maar u kunt SQL-instructies geven om te doen wat u wilt.
U kunt automatisch vastleggen voor de duur van één transactie impliciet uitschakelen door simpelweg een transactie te starten:
mysql_query("START TRANSACTION");
Zodra u COMMIT of ROLLBACK uitvoert, keert de autocommit-modus terug naar de standaardinstelling.
mysql_query("COMMIT"); // or ROLLBACK
U kunt automatisch vastleggen voor uw hele sessie uitschakelen door een sessievariabele in te stellen:
mysql_query("SET autocommit=0");
Of verander het globaal op uw MySQL-instantie, zodat het de standaard voor alle sessies verandert:
mysql_query("SET GLOBAL autocommit=0");
Of stel het in om de algemene instelling te wijzigen bij het opstarten van de MySQL-service door /etc/my.cnf te bewerken:
[mysqld]
autocommit=0
Als je MySQL 5.1 gebruikt, moet je dit iets anders doen:
[mysqld]
init_connect='SET autocommit=0'
Je weet het waarschijnlijk al, maar het is goed om te herhalen dat transacties alleen iets betekenen als je InnoDB-tabellen gebruikt. MyISAM-tabellen ondersteunen geen transacties, dus ze worden altijd automatisch vastgelegd, ongeacht uw instellingen. Hetzelfde geldt voor verschillende andere opslagengines, waaronder MEMORY en CSV.