В моей таблице A есть столбец с именем views. Я хочу увеличить столбец views следующим образом:
UPDATE A set views = views + 1 WHERE ID = blabla LIMIT 1;
Это похоже на способ сделать это, по крайней мере, для меня.
Или так я думал.
Похоже, когда я (из PHP) делаю:
$views = get_viewcount($id);
$views++:
save_viewcount($id, $views); //here we just update views with the $views variable
Это всегда работает. Но влечет за собой штраф за дополнительное обращение к БД с помощью get_viewcount, а затем увеличивает его в PHP и отправляет обратно. Это всегда работает.
Выражение SQL выше "иногда" работает. Я знаю - я тоже ненавижу слово «иногда» в программировании - но, говоря иначе, я не могу сказать КОГДА, но иногда оно не увеличивается, когда я делаю это в SQL напрямую за один раз.
Предложения