MySql是否会自动锁定行,还是需要添加";“锁定在共享模式”中;?

MySql是否会自动锁定行,还是需要添加";“锁定在共享模式”中;?,mysql,database,jdbc,Mysql,Database,Jdbc,我们是初学者,java软件使用select*等从数据库获取查询 我的问题是,我们需要在共享模式和“FOR UPDATE”中添加锁来强制执行锁,还是表锁和行锁是自动的 我们有一个表,我们希望在其中强制执行并发性,我是否可以将锁表添加到需要锁定的表中,然后更新值,然后解锁它?我认为,根据您对我的评论的回答,您真的不必担心手动处理表锁。InnoDB支持行级锁定,并且在启用自动提交的情况下(默认情况下),所有单个查询实际上都是以事务方式处理的 现在,如果您有多个SQL查询需要作为单个事务处理(即更新一个

我们是初学者,java软件使用select*等从数据库获取查询

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


我们有一个表,我们希望在其中强制执行并发性,我是否可以将锁表添加到需要锁定的表中,然后更新值,然后解锁它?

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

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

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


有关更多信息,请查看

想要了解您所说的需要“强制并发”是什么意思?您的意思是需要跨多个相关查询强制事务一致性吗?您使用的是什么数据库引擎,因为引擎之间在处理事务、表和行级别锁定等方面可能存在显著差异?@mikeBrant,是的,我需要在相关查询中强制实现事务一致性。特别是有一个表可以同时写入。我相信我们使用的引擎是Innodb。