У меня проблема в том, что я могу УДАЛИТЬ, но затем, когда я нажму обновить и отправить данные поста, он попытается удалить снова. Это не проблема, но теперь вторая оценка - это проблема, поскольку она уменьшается, когда не должна.
Что такое одновременный безопасный способ уменьшения, но только если delete удалил запись? Обратите внимание, что msgId - это PK, поэтому я буду удалять 0 или 1
public void removeMediaMsg(long userId, long msgId)
{
using (var dbTrans = connection.BeginTransaction())
{
command.CommandText = "DELETE FROM user_media_subscription "
+ "WHERE msgId=@msgId AND recipientId=@recipientId;";
command.Parameters.Add("@msgId", DbType.Int64).Value = msgId;
command.Parameters.Add("@recipientId", DbType.Int64).Value = userId;
command.ExecuteNonQuery();
command.CommandText = "UPDATE user_data SET mediaMsgCount=mediaMsgCount-1 WHERE userId=@userId;";
command.Parameters.Add("@userId", DbType.Int64).Value = userId;
command.ExecuteNonQuery();
dbTrans.Commit();
}
}