为什么mysql事务执行不了?
[作者]:菩提树下的杨过 [来源]:互联网 [收录时间]:2007-12-9 10:52:48

php代码片断:  
/*-----数据库连接参数--*/  
$host="localhost";  
$user="root";  
$pwd="xxx";  
$database="luntan";  
/*-----数据库连接-*/  
$db=mysql_connect($host,$user,$pwd);  
$sql="START  TRANSACTION;  
           SELECT  @A:=MAX(iTopicId)  FROM  lun_topic;  
           INSERT  INTO  lun_topic  VALUES(@A+1,'主题','内容','作者',NOW(),1);  
           COMMIT;";  
$result=mysql_db_query($database,$sql);//该句执行不了,也不报错  
 

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

---------------------------------------------------------------

注重在MySql中,只有INNODB和BDB类型的表支持事务处理,而缺省的MYISAM类型不支持,可以在创建表的时候指定表类型
CREATE TABLE t (i INT) TYPE = INNODB;

也可以转换已存在表的表类型
ALTER TABLE t TYPE=INNODB
---------------------------------------------------------------

新旧版mysql对@a变量支持不同的,建议你看看mysql_error();就知道了