标题:
为什么mysql事务执行不了?
[打印本页]
作者:
wangliangufeng
时间:
2006-4-13 13:10
标题:
为什么mysql事务执行不了?
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);//该句执行不了,也不报错
作者:
xingdanyinggu
时间:
2006-4-13 13:10
mysql4之前不支持事务的吧,5以后才支持的
作者:
剑心
时间:
2006-4-13 13:11
isam,myisam,heap数据表类型不支持事务。
作者:
liuzhusuoai
时间:
2006-4-13 13:11
$sql="LOCK TABLES lun_topic write;
SELECT @A:=MAX(iTopicId) FROM lun_topic;
INSERT INTO lun_topic VALUES(@A+1,主题','内容','作者',NOW(),1);//少了一个单引号
UNLOCK TABLES;";
基本上是没有错了。不过不具备事务处理机制的,用这种方法有时也不能解决的。
作者:
xingyungulang
时间:
2006-4-13 13:12
将数据库类型改为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);
欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/)
Powered by Discuz! 6.0.0