MySQL锁表替代方案(用于存储过程)
有人知道在执行存储过程时锁定表的方法吗 我的过程是一个简单的聚合过程,它将数据加载到另一个表中。完成后,它应该将原始表上的所有选定行更新为聚合的MySQL锁表替代方案(用于存储过程),mysql,sql,stored-procedures,Mysql,Sql,Stored Procedures,有人知道在执行存储过程时锁定表的方法吗 我的过程是一个简单的聚合过程,它将数据加载到另一个表中。完成后,它应该将原始表上的所有选定行更新为聚合的aggregated 对我来说,在这个过程中锁定原始表似乎很重要,这样我就可以避免这样的情况:在这个过程中,新行将被插入到第一个表中,但在这个过程结束时,它们仍将被计算为聚合的(因为这个更新部分适用于整个表) 有什么建议吗?谢谢 您不需要锁 如果您的数据库是Innodb,请使用事务 对于不支持事务的Myisam表,可以将聚合字段与三个值一起使用:未聚合、
aggregated
对我来说,在这个过程中锁定原始表似乎很重要,这样我就可以避免这样的情况:在这个过程中,新行将被插入到第一个表中,但在这个过程结束时,它们仍将被计算为聚合的(因为这个更新部分适用于整个表)
有什么建议吗?谢谢 您不需要锁
如果您的数据库是Innodb,请使用事务
对于不支持事务的Myisam表,可以将聚合字段与三个值一起使用:未聚合、聚合、聚合
请您解释一下,在这种情况下,您将如何实施交易?我考虑的是:启动事务>选择>插入(聚合)>更新>提交。我说得对吗?