表类型是什么?MyISAM好象不支持事务....
呵呵,对数据库不是很了解...分就免了,学习...

解决方案 »

  1.   

    表lun_topic
    iTopicId,
    vTitle,
    txtMessage,
    vPostId,
    dPostDateTime,
    iAreaId
      

  2.   

    mysql4之前不支持事务的吧,5以后才支持的
      

  3.   

    isam,myisam,heap数据表类型不支持事务。
      

  4.   

    有人告诉我说要ALTER TABLE lun_topic TYPE=INNODB;
    我做了
    可没用
      

  5.   

    原来是表的类型不同
    那改成$sql="LOCK TABLES lun_topic write;
    SELECT @A:=MAX(iTopicId) FROM lun_topic;
    INSERT INTO lun_topic VALUES(@A+1,主题','内容','作者',NOW(),1);
    UNLOCK TABLES;";
    这句也执行不了
    why?
      

  6.   

    $sql="LOCK TABLES lun_topic write;
    SELECT @A:=MAX(iTopicId) FROM lun_topic;
    INSERT INTO lun_topic VALUES(@A+1,主题','内容','作者',NOW(),1);//少了一个单引号
    UNLOCK TABLES;";
    基本上是没有错了。不过不具备事务处理机制的,用这种方法有时也不能解决的。
      

  7.   

    将数据库类型改为innoDB$sql1 = "set auto_commite=0";
    $sql2 = "begin";
    $sql3 = "update......";
    $sql4 = "update.......";
    $sql5 = "commite";
    $sql6 = "rollback";mysql_query($sql1);
    mysql_query($sql2);
    mysql_query($sql3);
    mysql_query($sql4);
    if(mysql_errno)
        mysql_query($sql5);
    else
        mysql_query($sql6);