내 Django
项目使用 mysql
和 InnoDB
引擎。我有一个如下所示的表,queue
字段默认值为0
두 가지 프로세스가 있습니다. 하나는 테이블의 최대 대기열을 기반으로 레코드를 삽입하는 것입니다.
으아악또 다른 프로세스는 queue
不等于0的每条记录,将queue
값에서 1
여기서 제가 관심을 두는 것은 이 두 과정이 동시에 일어나는지입니다. 예를 들어 후속 프로세스에서 각 값을 감소시키려는 경우입니다. 동시에 첫 번째 프로세스는 새로운 값을 삽입합니다. 이 경우 약간의 오류가 발생할 수 있습니다.
어떻게 해야 하나요? 누구에게나 좋은 아이디어가 있습니다. 미리 감사드립니다.
이를 위해 select_for_update() a>를 사용할 수 있습니다. 그러면 거래가 끝날 때까지 업데이트 중인 기록이 잠깁니다
으아악