in reply to Re^4: turning off Autocommit (MySql)
in thread turning off Autocommit (MySql)

I currently don't have a MySQL database handy to test this with, but if I try this code out with Postgres it warns me that "Create database" cannot run within a transaction block. Try checking/setting Autocommit again after you're created and "used" the database. You could also try calling begin_work explicitly before you want your transaction to start.

Also, you may want to check that xxx gets created as table type InnoDB (with "SHOW TABLE STATUS"), that depends on your MySQL configuration.


Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian W. Kernighan

Replies are listed 'Best First'.
Re^6: turning off Autocommit (MySql)
by jeanluca (Deacon) on Nov 11, 2005 at 15:49 UTC
    Its a MyISAM table. I've never dealt with MyISAM or InnoDB, so is this wrong ? If yes, how do I create InnoDB tables ?

    Luca

      Try "CREATE TABLE test (str VARCHAR(50)) ENGINE=InnoDB". If that doesn't work it's likely you need to change your mysql configuration and/or initialise the tablespace, check the MySQL docs here for that, it's somewhat out of scope for this forum.


      Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian W. Kernighan
      guess this is the solution:CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) ENGINE=InnoDB;

      Yep rollback works!!!!!
      Thanks a lot! Luca