$sql="insert into users(userid,password) values('$userid','$password')";
if(mysql_query($sql_reg_save)) {
$sql="insert into users_info(truename,sex,age) values('$truename',$sex,$age);
mysql_query($sql_reg_save);
}
if(mysql_query($sql_reg_save)) {
$sql="insert into users_info(truename,sex,age) values('$truename',$sex,$age);
mysql_query($sql_reg_save);
}
if(mysql_query($sql_reg_save)) {
$sql="insert into users_info(truename,sex,age) values('$truename',$sex,$age);
if(!(mysql_query($sql_reg_save)))
{
$sql_del="delete from users where userid=$userid";
if (mysql_query($sql_reg_save))
{
echo "操作失败,数据已经回滚";
}else
{
echo "操作失败,垃圾数据产生!请通知管理员";
写入日志
} }
}
conn.BeginTrans
url=rtrim(rs("payment_url"))
SQL="insert into table (tablevalues) values(tablevalues)"
conn.execute(sql) //此时并未执行语句
if conn.Errors.Count>0 then //如果错误数大于1
conn.Errors.Clear //清空错误
conn.RollBackTrans //回滚
else
conn.execute("insert into table(tablevalues) vlaues(tablevalus)")
if conn.Errors.Count>0 then
conn.Errors.Clear
conn.RollBackTrans
else
conn.CommitTrans //提交执行
end if
end if
如果出错将回滚,什么都不执行。 如果你用SQL Server 很简单,用触发器,如果一个事件发生将处理相应的事件。而且只要服务器不在第二条语句执行的时候跨掉,第二条于句都回执行完成。除非你的第二条语句出错。