<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>J.et wong's stuff &#187; 事务</title>
	<atom:link href="http://j.etwong.com/blog-tag/%e4%ba%8b%e5%8a%a1/feed" rel="self" type="application/rss+xml" />
	<link>http://j.etwong.com</link>
	<description>{}</description>
	<lastBuildDate>Mon, 23 Aug 2010 03:04:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>mysql事务备份</title>
		<link>http://j.etwong.com/blog-127</link>
		<comments>http://j.etwong.com/blog-127#comments</comments>
		<pubDate>Sun, 07 Mar 2010 09:31:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[事务]]></category>

		<guid isPermaLink="false">http://j.etwong.com/?p=127</guid>
		<description><![CDATA[1.http://wasabi.javaeye.com/blog/180162
1.]]></description>
			<content:encoded><![CDATA[<p><strong>1.http://wasabi.javaeye.com/blog/180162</strong></p>
<p>1.<?PHP<br />
$LinkID =mysql_connect('localhost:3307','root',*******);<br />
mysql_select_db('web_his',$LinkID);<br />
mysql_query("set names utf8");  </p>
<p>/* 创建事务 */<br />
mysql_query('START TRANSACTION') or exit(mysql_error());<br />
$ssql1="insert into pf_item values('22','我们','30')";  //执行sql 1<br />
if(!mysql_query($ssql1)){<br />
   echo $ssql1.mysql_errno().":".mysql_error()."<br />&#8220;;<br />
   mysql_query(&#8216;ROLLBACK&#8217;) or exit(mysql_error());//判断当执行失败时回滚  </p>
<p>   exit;<br />
}<br />
$ssql1=&#8221;insert into pf_item values(&#8216;21&#8242;,&#8217;hell&#8217;,'10&#8242;)&#8221;;  //执行sql 2<br />
if(!mysql_query($ssql1)){<br />
  echo $ssql1.mysql_errno().&#8221;:&#8221;.mysql_error().&#8221;<br />&#8220;;<br />
     mysql_query(&#8216;ROLLBACK&#8217;) or exit(mysql_error());//判断当执行失败时回滚  </p>
<p>   exit;<br />
}  </p>
<p>mysql_query(&#8216;COMMIT&#8217;) or exit(mysql_error());//执行事务  </p>
<p>mysql_close($LinkID);<br />
?>  </p>
<p><strong><br />
2.</p>
<p>mysql_query(&#8220;BEGIN&#8221;);//开始一个事务</strong><br />
mysql_query(&#8220;SET AUTOCOMMIT=0&#8243;); //设置事务不自动commit<br />
 $insert=&#8221;INSERT INTO userinfo VALUES (&#8216;aa12&#8242;,&#8217;aa&#8217;,'1&#8242;,&#8217;aaa&#8217;)&#8221;;<br />
mysql_query($insert);<br />
mysql_query(&#8220;COMMIT&#8221;);//非autocommit模式，必须手动执行COMMIT使操作生效<br />
//mysql_query(&#8220;SET AUTOCOMMIT=0&#8243;);<br />
 $insert=&#8221;INSERT INTO userinfo VALUES (&#8216;aa20&#8242;,&#8217;aa&#8217;,'1&#8242;,&#8217;aaa&#8217;)&#8221;;<br />
$insert=&#8221;INSERT INTO userinfo VALUES (&#8216;aa8&#8242;,&#8217;aa&#8217;,'1&#8242;)&#8221;;<br />
//mysql_query(&#8220;COMMIT&#8221;);<br />
if(mysql_num_rows==0)<br />
mysql_query(&#8220;ROLLBACK&#8221;);//非autocommit模式，执行ROLLBACK使事务操作无效<br />
else echo &#8220;ok&#8221;;<br />
//mysql_query(&#8220;CLOSE&#8221;);<br />
mysql_query(&#8220;SET AUTOCOMMIT=1&#8243;);//恢复autocommit模式<br />
$insert=&#8221;INSERT INTO userinfo VALUES (&#8216;aa15&#8242;,&#8217;aa&#8217;,'1&#8242;,&#8217;aaa&#8217;)&#8221;;<br />
mysql_query($insert);//不需要手动执行COMMIT就可以使事务操作生效</p>
<p>执行BEGIN之后，其作用同set autocommit=0，而且之后设置set autocommit=0或1时无效。所以，为使操作清楚，一般不使用BEGIN。</p>
<p><strong>3.mysql事务与行锁</strong></p>
<p>http://www.611530.com/PC/wangzhan/200910/2220.html</p>
<p><strong>4.</strong></p>
<p>http://hi.baidu.com/cuihu0706/blog/item/1dd6ccb1621c355709230278.html</p>
<p><?php<br />
$handler=mysql_connect("localhost","root","");<br />
mysql_select_db("task");<br />
mysql_query("SET AUTOCOMMIT=0");//设置为不自动提交，因为MYSQL默认立即执行<br />
mysql_query("BEGIN");//开始事务定义<br />
if(!mysql_query("insert into trans (id) values('2')"))<br />
{<br />
mysql_query("ROOLBACK");//判断当执行失败时回滚<br />
}<br />
if(!mysql_query("insert into trans (id) values('4')"))<br />
{<br />
mysql_query("ROOLBACK");//判断执行失败回滚<br />
}<br />
mysql_query("COMMIT");//执行事务<br />
mysql_close($handler);<br />
?></p>
<p><strong>5.各种锁的类型：</strong></p>
<p>http://www.d5s.cn/archives/93</p>
<p><strong>6.CI中的事务：</strong></p>
<p>http://xinbituya.blogbus.com/logs/21820416.html</p>
<p>http://codeigniter.org.cn/user_guide/database/transactions.html</p>
]]></content:encoded>
			<wfw:commentRss>http://j.etwong.com/blog-127/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
