php与mysql原子操作
很久都没有写一下学习日志了,都不知道最近在忙什么,突然觉得自己应该写点什么上去.
数据库的原子操作是两三个月前学的东西了,今天突然又用到了,因此今天必须得将其记录下来,否则下次又要重新搜索了.
原子操作常用的方法就是通过数据回滚来实现,用 PHP 来实现数据库回滚操作相当简单:
1, 建立数据库连接
2, mysql_query('BEGIN'); 开启事务
3, $SQL = "...";
mysql_query($SQL); 做相应的数据库操作
4, 判断回滚条件:
if(mysql_errno)
{
print mysql_error();
mysql_query('ROLLBACK'); 出错就回滚
exit();
}
5, ... 可以重复上述步骤 3 及步骤 4 的操作, 开始的过程(中间可以加入其他操作,不局限于数据库更新,但是注意,最好不要让一个事务时间过长,因为它锁定所有你用到的表,会影响其他程序使用)
你也可以在几条正确的sql更新语句后故意写一句错误的,看看是否回滚了。
6, 结束回滚操作
mysql_query('COMMIT'); 能够到这里,代表上述数据库操作都没有错,正式提交执行
这就是用 PHP 实现原子操作的整个过程,需要特别注意的是建立支持数据回滚操作的表结构,另外,除 commit 外也有其它办法可以结束回滚操作,但我就不得而知了.
相关文档:
Blog系统作为大家最常接触的互联网东东,在站长群体中几乎人手一博,从知名门户的博客频道,到网络营销专家博客,网民对博客的关注度在不断提高并深化。目前网上免费的blog系统太杂,在此整理PHP版的Blog介绍如下:
1、wordpress:http://www.wordpress.org 功能也很全面,应该是支持blog的首选。它有最强的模版功能,已经 ......
前不久网上公开了一个MySQL Func的漏洞,讲的是使用MySQL创建一个自定义的函数,然后通过这个函数来攻击服务器。最早看到相关的报道是在o-otik上,但是公布的是针对 Unix系统的Exploit,并且成功率也不是很高.而近期,国内有高手放出针对Win系统的相关文章,于是我马上找来与朋友一同研究.
其实我们早就能想到.当我们在对MSSQL ......
#apt-get install apache2
//安装apahce2
#apt-get install php5
//安装php5
#apt-get install mysql-server
//安装mysql服务端
#apt-get install mysql-myclient
//安装mysql的客户端
#apt-get install php-mysql
//安装php-mysql的连结
apache+php+mysql 环境已经搭建好了
将以下的服务重启一下
#/et ......
1. 定义
/*
Plugin system variables.
*/
static long sysvar_one_value;
static char *sysvar_two_value;
static MYSQL_SYSVAR_LONG(simple_sysvar_one, sysvar_one_value,
PLUGIN_VAR_RQCMDARG,
"Simple fulltext parser example system variab ......
ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]
alter_specification:
ADD [COLUMN] create_definition [FIRST | AFTER column_name ]
or ADD INDEX [index_name] (index_col_name,...)
or ADD PRIMARY KEY (index_col_name,...)
or ADD UNIQUE [index_name] (index_col_name,...)
or ALTER [ ......