Autor Zpráva
vojtah
Profil *
Ahoj. Potřeboval bych svoji aplikaci rozšířit o transakce. Jestli to dobře chápu, lze to udělat takto?

mysql_query('START TRANSACTION');

mysql_query('SELECT ... ');
mysql_query('UPDATE ... ');

mysql_query('COMMIT');


Jde mi hlavně o to, jestli se nemusí explicitně vypínat AUTOCOMMIT a co se stane např. v případě chyby v "prostředním" dotazu UPDATE. Díky moc!
karbon
Profil *
Ano, lze. V případě chyby se zavolá `ROLLBACK` a ten SQL příkazy po `START TRANSACTION` vrátí zpět. Nutné je také, aby tabulka byla typu InnoDB, nikoliv MyISAM.
vojtah
Profil *
Ahoj a díky. MyIsam nepoužívám, je to takový chudý příbuzný :).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: