注意,

0、表的索引类型必须是InnoDB.相关链接:http://www.cnblogs.com/CyLee/p/5579672.html

1、如果你使用Navicat Premium,有可能会出现程序bug无法解锁。但在正常环境下是没问题的

2、存储过程里不允许使用锁

3、phpmyadmin是每次刷新都会重新链接一次,所以也不适合测试多会话(SESSION)

4、互联网时代不太可能使用到表锁,通常是使用行锁,除非erp系统之类的内部系统

读锁:所有的会话只能进行SELECT语句查询

  1. LOCK TABLE [TABLE_NAME] READ
  2.  
  3. SELECT * FROM TABLE_NAME;
  4.  
  5. INSERT INTO TABLE_NAME () VALUES (); #一直等待,直到解锁或者超时

写锁:只有当前会话能增删改查,其他会话无法任何操作

  1. LOCK TABLE [TABLE_NAME] WRITE

解锁:

  1. UNLOCK TABLES #常规解锁
  2.  
  3. LOCO TABLE [TABLE_NAME] READ #再一次锁上,会解除上一次被拦截的对象。然后继续拦截
  4.  
  5. LOCO TABLE [TABLE_NAME] WRITE #再一次锁上,会解除上一次被拦截的对象。然后继续拦截
  1.  

mysql 表锁——读锁和写锁的更多相关文章

  1. [转]MySQL 表锁和行锁机制

    本文转自:http://www.cnblogs.com/itdragon/p/8194622.html MySQL 表锁和行锁机制 行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整 ...

  2. Mysql中的读锁,写锁,乐观锁及事务隔离级别和并发问题

    mysql读锁,写锁,乐观锁 读锁,也叫共享锁(shared lock) SELECT * FROM table_name  WHERE ...  LOCK IN SHARE MODE 写锁,也叫排他 ...

  3. Mysql表锁、行锁、页锁

    参考 http://www.jb51.net/article/50047.htm <MySQL行级锁.表级锁.页级锁详细介绍> 页级:引擎 BDB.表级:引擎 MyISAM , 理解为锁住 ...

  4. MySQL表锁和行锁

    锁粒度 MySQL 不同的存储引擎支持不同的锁机制,所有的存储引擎都以自己的方式显现了锁机制,服务器层完全不了解存储引擎中的锁实现: InnoDB 存储引擎既支持行级锁(row-level locki ...

  5. mysql中的读锁和写锁

    当mysql为一个表开启读锁的时候,其他进程包括进程本身没有权利去修改这张表的内容,也没有权利更新,但是可以读取表里面的内容 如下例子 给表上读锁 接着更新一下,显示被锁了 释放锁并插入数据 写锁 查 ...

  6. mysql 表锁进程非常多的情况

    今天要说的是mysql 的 MYISAM引擎下的表锁问题. 通常来说,在MyISAM里读写操作是串行的,但当对同一个表进行查询和插入操作时,为了降低锁竞争的频率,根据concurrent_insert ...

  7. mysql表锁、行锁、索引之间暧昧的关系

    MySQL的innodb存储引擎支持行级锁,innodb的行锁是通过给索引项加锁实现的,这就意味着只有通过索引条件检索数据时,innodb才使用行锁,否则使用表锁.根据当前的数据更新语句(UPDATE ...

  8. mysql 表锁问题

    select * from information_schema.INNODB_lock_waits; select * from information_schema.INNODB_locks; S ...

  9. mysql myisam 锁表问题<转>

    转自http://yafei001.iteye.com/blog/1841258 锁是计算机协调多个进程或线程并发访问某一资源的机制 .在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用 ...

随机推荐

  1. WordPress 后台添加额外选项字段到常规设置页面

    有时候我们需要添加一些额外的设置选项到常规设置(后台 > 设置 > 常规)页面,下面是一个简单的范例: 直接添加到主题的 functions.php 即可:   /*** WordPres ...

  2. 通过page页面与portlet的结合实现报表的局部刷新

    场景:系统已经存在两个报表,报表A与B,A与B之间可以通过省份进行追溯. 如下图:点击 报表[销售数据按区域]中的北京市 追溯到报表[销售数据按省份] 需求:让上面的操作在一个page里面刷新,实现页 ...

  3. GetProcAddress 使用注意事项

    使用 GetProcAddress Function 时,有以下几点需要特别留意: 1. 第二个参数类型是 LPCSTR,不是 : 2. 用 __declspec(dllexport),按 C 名称修 ...

  4. [Functional Programming] Fst & Snd, Code interview question

    cons(a, b) constructs a pair, and car(pair) and cdr(pair) returns the first and last element of that ...

  5. bash參考手冊之六(Bash特性)

    6 Bash 特性 这部分描写叙述Bash独有的特性. *  调用Bash : Bash能够接受的命令行选项. *  Bash启动文件 : Bash何时及怎样运行脚本. *  交互Shell : 什么 ...

  6. libcurl 接口调用方式

    http://hi.baidu.com/tracyu1026/item/bb6d5def4292b10b570f1d48 libcurl提供了一组C语言API函数直接调用.首先需要提到的两个函数就是c ...

  7. Hibernate(十三)命名查询-批量处理和调用存储过程

    一.命名查询 HQL语句混杂在代码之间将破坏代码的可读性 Hibernate允许在映射配置文件中定义字符串形式的查询语句,这种查询方式称为命名查询 二.建立数据表和持久化类 建立数据表 create ...

  8. 1z0-052 q209_1

    1: You perform differential incremental level 1 backups of your database on each working day and lev ...

  9. faster rcnn测试VOC2012的问题

    Traceback (most recent call last): File "./tools/test_net.py", line 90, in test_net(net, i ...

  10. 使用quartz进行容器启动时登陆接口服务器和接口服务器进行心跳连接

    1.下载quartz的相应jar包 2.增加spring配置文件(applicationContext-quartz.xml) 内容如下: <?xml version="1.0&quo ...