<?php
$conn = mysql_connect('localhost','root','123123') or die ("123!!!");
mysql_select_db('eshop',$conn);
mysql_query("set names 'GBK'"); //使用GBK中文编码;
?>
<?php
mysql_query("SET AUTOCOMMIT=0");
$sql = "INSERT INTO `basket` (`id`, `status`, `qty`) VALUES (NULL, 'test1', '0')";
$sql2 = "INSERT INTO `basket` (`isd`, `status`, `qty`) VALUES (NULL, 'test1', '0')";//这条我故意写错
$res = mysql_query($sql);
$res1 = mysql_query($sql2);
if($res && $res1){
mysql_query("COMMIT");
echo 'ss';
}else{
mysql_query("ROLLBACK");
echo 'dddd';
}
mysql_query("END");
?>以上代码,由于sql2之错误,所以不能提交的。但是,我run以后,还是插入了一条数据啊?可悲啊》为何不执行回滚,再删除那条数据呢?不解。
$conn = mysql_connect('localhost','root','123123') or die ("123!!!");
mysql_select_db('eshop',$conn);
mysql_query("set names 'GBK'"); //使用GBK中文编码;
?>
<?php
mysql_query("SET AUTOCOMMIT=0");
$sql = "INSERT INTO `basket` (`id`, `status`, `qty`) VALUES (NULL, 'test1', '0')";
$sql2 = "INSERT INTO `basket` (`isd`, `status`, `qty`) VALUES (NULL, 'test1', '0')";//这条我故意写错
$res = mysql_query($sql);
$res1 = mysql_query($sql2);
if($res && $res1){
mysql_query("COMMIT");
echo 'ss';
}else{
mysql_query("ROLLBACK");
echo 'dddd';
}
mysql_query("END");
?>以上代码,由于sql2之错误,所以不能提交的。但是,我run以后,还是插入了一条数据啊?可悲啊》为何不执行回滚,再删除那条数据呢?不解。
要想回滚第一条start transaction;
insert 。。
insert
commit;
$conn = mysql_connect('localhost','root','123123') or die ("123!!!");
mysql_select_db('eshop',$conn);
mysql_query("set names 'GBK'"); //使用GBK中文编码;
?>
<?php
mysql_query("start transaction;");$sql = "INSERT INTO `basket` (`id`, `status`, `qty`) VALUES (NULL, 'test1', '0')";
$sql2 = "INSERT INTO `basket` (`isd`, `status`, `qty`) VALUES (NULL, 'test1', '0')";//这条我故意写错
mysql_query("SET AUTOCOMMIT=0");
$res = mysql_query($sql);
$res = mysql_query($sql2); if($res){
mysql_query("COMMIT");
echo 'succ';
}else{
mysql_query("ROLLBACK");
echo 'fail';
}
mysql_query("END");
?>
还是未成功了,谢谢你了,不成功,我就不下班了。
天哪,好汉,你竟说没难度,你问问我论坛有几人能你真能吹。
[/Quote]有几人能 你说这种大话真不怕丢脸, 去看看TAOBAO公开的技术架构演变, 看看人家怎么拆表拆库还保证可以做事务吧。
这话说的,楼主不怕天下人耻笑。