Q:

Помогите составить MySQL-запрос

У меня есть такая SQL-таблица с названием muted, людьми, у которых имеется активный Mute (затычка в чате). 
id   name    author    time    reason 
43   "John"  "Mike"     15    "Capslock"
...
46   "John"  "Looney"   30    "Flood"
47   "Ray"   "Mike"     45    "Capslock + Flood"

Скажем так, что мут юзера имеет эффект резонанса и объединяется с уже существующими. Это значит, что если у John'a есть 15 минут мута и ещё добавили 30-минутный за что-то ещё, в общем у него уже 45. 
Вопрос:
Как сделать запрос, в котором значение колонки time уменьшится на единицу только в первой попавшейся строке с именем John, чтобы не уменьшить time второй, третьей ... и других его колонок в других выданных мутах? (когда time = 0, он удалится, это к сведению)
P/S: Я мог бы сделать просто одну строку на пользователя и с добавлением мута увеличивать значение time, но мне нужна также и история того, кто выдал и по какой причине мут снова, совмещать ещё со временем и хранением этого всего, я не нашел другого варианта. Спасибо.

A:

Вам достаточно добавить LIMIT 1 в конце запроса. Вот пример:
CREATE TABLE temp(num INTEGER);
INSERT INTO temp VALUES (1), (2), (3);
UPDATE temp SET num = num + 1 LIMIT 1;

До изменения:

num
  1
  2
  3

После изменения:

num
  2
  2
  3  

