Селектится действительно херня. Но не там, где я думала
Прошлый код не сохранял эти данные, а селект ограничен недостаточно жестко, и в итоге он селектит _старые_ данные, и героически их обновляет
А потом сервис уведомлений селектит по-нормальному новые данные, а их обновить забыли
...корни второго бага тоже лежат в поврежденной базе
Зачем надо было делать значение NOT NULL с дефолтом в 0, если это семантически вообще не подходит...