MySQL锁定表

标签 mysql concurrency locking phpmyadmin

我正在尝试做一个简单的锁,以防止任何其他请求读取或写入单个表。我的代码在 phpmyadmin 中输入并执行后的结果:

LOCK TABLES mytable WRITE;# MySQL returned an empty result set (i.e. zero rows).
INSERT INTO mytable (field1, field2) VALUES ('21',  '123123');# 1 row(s) affected.

锁不起作用,插入物起作用了。显然工作不正常......我做错了什么?我一直在倾注 oer MySQL 文档,这似乎是他们说要做的......

最佳答案

当您的 session 在表上工作时,锁是为了防止其他 session 访问该表。如果在表上加锁也会将您自己的代码锁在外面,那么加锁就没有意义了。

你必须用两个连接来测试它。一个连接进行锁定,另一个连接尝试进行插入。

在 phpmyadmin 中完成这一切是通过一个连接完成的,这不是一个有效的测试。

关于MySQL锁定表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9756278/

相关文章:

mysql - 多对多按关系排序

MySQL 数据库重复唯一键

ruby - 并发的,非阻塞的,固定大小的列表?

ruby - 运行多个 ruby​​ 进程(数据导入)

java - JBoss Developer Studio 与 MySQL 的集成问题

mysql - 使用 VB.Net 将 Excel 电子表格导入 MySQL DB

Java String.intern() 使用 HashTable 而不是 ConcurrentHashMap

iphone - 锁定 iPhone 仅在 iOS 5 上断开套接字

c++ - 使用WinDbg查找谁为本地进程持有SRW锁

python - 如何在 Django 中执行表/行锁