В этом случае Вы могли использовать операцию типа XOR:
UPDATE some_table SET an_int_value = an_int_value XOR 1
Это предполагает, что an_int_value всегда будет 1 или 0 все же.
Это как-то связано с предотвращение других событий на странице от срабатывания?
Да.
Установка async в false означает, что вызываемый вами оператор должен завершиться до того, как будет вызван следующий оператор в вашей функции. Если вы установите async: true, то этот оператор начнет свое выполнение, и следующий оператор будет вызываться независимо от того, завершился ли оператор async.
Для получения дополнительной информации см .: jQuery ajax success anonymous function scope
Если вы отключите асинхронное получение, ваш сценарий будет блокироваться до тех пор, пока запрос не будет выполнен. Это полезно для выполнения некоторой последовательности запросов в известном порядке, хотя я считаю, что асинхронные обратные вызовы более чистые.