问题:
当两人同时对mysql表中同一记录进行操作时,第二人想更新时,会提示,此记录已再在被人操作.
如何用mysql的锁概念来实现?或用其它的方法实现?
当两人同时对mysql表中同一记录进行操作时,第二人想更新时,会提示,此记录已再在被人操作.
如何用mysql的锁概念来实现?或用其它的方法实现?
解决方案 »
- mysql 分组查询
- SELECT @@IDENTITY与SELECT LAST_INSERT_ID()的区别是什么?
- 如何改变一个表的colation?
- pconnect和connect到底什么区别啊
- mysql客户端和服务器端使用的什么协议?
- 一条简单的sql注入语句
- 急!delphi+mysql(mysql是远程的)的程序打包时要把哪些东西一起打包?
- 在windows98+apache+php+mysql环境下怎样配置才能访问cgi-bin目录?
- 按uidList顺序如何批量得到返回按照原有顺序得到UserList
- MySQL 自增列在批量插入情况下会出现不连续(无删除操作)
- MySQL 数据库不能连接问题
- MySQL一夜之间改姓Oracle了,后续会不会变成OracleSQL呀,还是干脆消失?
如果用锁的方法
有表锁 lock table , 有行锁 select .. for update , 有应有锁 get_lock(xx,xx)
一个用户锁住这资源, 另一个用户只能等待, 但等待必须有个timeout, 否则程序并发性太差.
可以设置timeout只有应用锁 get_lock(xx,xx), 或用check_lock检查锁有没有被占用.
表锁\行锁只能通过设置执行语句的timeout来解决以上timeout的问题.