我的mysql版本是3.23.53刚才看了一些帖子,代码很全
 
但是我还是想问问,在.net里用C#时,有没有像使用sqlTransaction那样的方法来操作数据库事务处理?

解决方案 »

  1.   

    mysql is not support Transaction except use INNO mode.
      

  2.   

    INNO mode???????什么啊?那我只能用写sql语句的方式来操作事务?
      

  3.   

    这sql语句该怎么写呢?begin;
    ...........
    commit不行啊
      

  4.   

    当你的数据库为InnoDB类型时,才可以支持事务处理。
    因此为支持事务,表在创建的时候设置为InnoDB 类型。
    没有用过.net,给你提供一段用php写的程序,希望能有所提示。
        //事务处理开始
        $sql = "BEGIN";
        $TransActionQuery1 = new query($db,$sql);
        //update table1
        $sql = "update table1 set ...";
        $query = new query($db,$sql);
        if ($query1->affected_rows <= 0)
       {
            //失败,回滚
           $sql = "ROLLBACK";
            $TransActionQuery2 = new query($db,$sql);   
            $URL = "main.php";
            ErrorReturn("改写表失败",$URL);
    exit;
        }
    ...
    //提交
    $sql = "COMMIT";
    $TransActionQuery4 = new query($db,$sql); 
    ...
      

  5.   

    InnoDB ??? 不管我是做一个新表,还是修改旧表,选择“InnoDB”都没用阿,表全部都是 MyISAM 类型。这..............
      

  6.   

    建表语法:
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]
    [table_options] [select_statement]
    其中的table_option:
        TYPE = {BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM }
    要是还不清楚的话,看:
    http://www.mysql.com/doc/en/CREATE_TABLE.html