我想知道在以下情况下我是否真的需要事务/锁。我可以执行 3 个可能在任意数量中并发的操作(即我可以运行两个任务 1 和三个任务 2):
任务1:
select distinct count(some_id) as my_counter from table_1;
update table_2 set counter = my_counter;
任务 2:
insert into table_1 ...;
update table_2 set counter = counter + 1;
任务 3:
delete from table_1 where id = ...;
update table_2 set counter = counter - 1;
我应该如何实现上述内容以确保我永远不会破坏 table_2 的字段counter
?
非常感谢你!