You're not right.
In the documentation about mysql i found the following:
By default, MySQL runs in autocommit mode. This means that as soon as you
execute an update, MySQL will store the update on disk. 

If you are using transactions safe tables (like BDB, InnoDB, you can put
MySQL into non-autocommit mode with the following command: 

SET AUTOCOMMIT=0

After this you must use COMMIT to store your changes to disk or ROLLBACK if
you want to ignore the changes you have made since the beginning of your
transaction. 

If you want to switch from AUTOCOMMIT mode for one series of statements, you
can use the BEGIN or BEGIN WORK statement: 

BEGIN;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
UPDATE table2 SET summmary=@A WHERE type=1;
COMMIT;

Note that if you are using non-transaction-safe tables, the changes will be
stored at once, independent of the status of the autocommit mode. 

If you do a ROLLBACK when you have updated a non-transactional table you
will get an error (ER_WARNING_NOT_COMPLETE_ROLLBACK) as a warning. All
transactional safe tables will be restored but any non-transactional table
will not change. 

If you are using BEGIN or SET AUTOCOMMIT=0, you should use the MySQL binary
log for backups instead of the older update log. Transactions are stored in
the binary log in one chunk, upon COMMIT, to ensure that transactions which
are rolled back are not stored. See section 23.4 The Binary Log. 

There are some alternative table formats, with which you can have
transactions with mysql nowadays.

Regards
Manfred

-----Ursprüngliche Nachricht-----
Von: Renzo Toma [mailto:[EMAIL PROTECTED]]
Gesendet: Donnerstag, 12. Juli 2001 10:46
An: [EMAIL PROTECTED]; Aapo Laakkonen;
[EMAIL PROTECTED]
Betreff: RE: offtopic question



You're right:

MySQL does not have transactional support and does only do table locking (no
row-locking like the big boys).

-----Original Message-----
From: Aapo Laakkonen [mailto:[EMAIL PROTECTED]]
Sent: woensdag 11 juli 2001 18:45
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: offtopic question


> message: transaction isolation levels not supported.
>
> That let me suppose that both MS Access and MySql jdbc drivers do not
> support yet well the rowset package.

I think that access and mysql doesn't support transactions or they do not
support
the isolation level that was requested by your application. ANSI SQL defines
4
isolation levels and if application wants to have let's say committed read
isolation
level and db doesn't support it or doens't support higher isolation levels
(e.g.
repeatable read or serializable) then they need to abort the transaction.
Access is
kind of one man db and it doesn't support transactions I think, but I'm not
sure
about MySQL, but what I can remember is that it doesn't support
transactions.

Reply via email to