易截截图软件、单文件、免安装、纯绿色、仅160KB

MySQL中select * for update锁表的问题


select * for update锁表的问题
由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住)。
举个例子:
假设有个表单products ,里面有id跟name二个栏位,id是主键。
例1: (明确指定主键,并且有此笔资料,row lock)
SELECT * from products WHERE id='3' FOR UPDATE;
例2: (明确指定主键,若查无此笔资料,无lock)
SELECT * from products WHERE id='-1' FOR UPDATE;
例2: (无主键,table lock)
SELECT * from products WHERE name='Mouse' FOR UPDATE;
例3: (主键不明确,table lock)
SELECT * from products WHERE id<>'3' FOR UPDATE;
例4: (主键不明确,table lock)
SELECT * from products WHERE id LIKE '3' FOR UPDATE;
注1: FOR UPDATE仅适用于InnoDB,且必须在交易区块(BEGIN/COMMIT)中才能生效。
注2: 要测试
锁定的状况,可以利用MySQL的Command Mode ,开二个视窗来做测试。


相关文档:

Apache+php+mysql的配置


Apache官方下载地址:apache_2.0.55-win32-x86-no_ssl.msi,更多版本在这里;
php官方下载地址:php-5.0.5-Win32.zip,更多镜像下载地址,更多版本下载;
mysql官方下载地址:mysql-4.1.14-win32.zip,更多镜像下载地址,更多版本下载。
Apache的配置:
我一开始怎么搞都不好,我上网找,有的说是iis的问题,有的说是 ......

EJB3+JBOSS4+mySQL部署方式

1、新建数据源文件mysql-ds.xml,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
  <local-tx-datasource>
    <jndi-name>MySqlDS</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/mydatabase?useUnico ......

windows的64位平台rails连接mysql的方法


安装mysql
gem install mysql
使用mysql,如,rake db:migrate
会报错:
E:\study\ruby\rails_space>rake db:migrate
(in E:/study/ruby/rails_space)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
193: ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号