MySql是自动锁定行还是我需要添加“锁定共享模式”?

时间:2012-11-28 00:34:14

标签: mysql database jdbc

我们是初学者,我们的java软件使用select * etc。

从数据库中获取查询

我的问题是我们是否需要在共享模式下添加锁定和“FOR UPDATE”来强制执行锁定,还是自动执行表和行锁定?

我们有一个表要强制执行并发,我可以将LOCK TABLE添加到需要锁定的表中,然后更新值,然后将其解锁吗?

1 个答案:

答案 0 :(得分:1)

我认为根据您对我的评论的回答,您真的不必担心手动处理表锁。 InnoDB支持行级锁定并启用自动提交(默认情况下),所有单个查询实际上都是以事务方式处理的。

现在,如果您有多个需要作为单个事务处理的SQL查询(即更新一个表,然后更新另一个表 - 要么都成功,要么两者都回滚),那么您需要专门启动一个事务并且在临时查询执行后提交或回滚。

如果需要更改事务隔离级别(默认情况下为“REPEATABLE READ1”),也可以使用SET TRANSACTION语句。

有关详细信息,请查看MySQL Documentation