InnoDB автоматические действия - PullRequest
1 голос
/ 21 марта 2011

Я использую MySQL и InnoDB.Я управляю версиями всех записей таблицы - последняя версия записи имеет столбец с именем 'lv', установленный в 1, и предыдущая запись для этого идентификатора, у которой столбец 'lv' установлен в 1, теперь должна быть установлена ​​в 0, чтобыесть новая версия.Сейчас я делаю два запроса каждый раз, когда вставляю новую запись (версию).Есть ли способ заставить InnoDB делать это автоматически?Спасибо за ваш вклад.

1 Ответ

1 голос
/ 21 марта 2011

Вы могли бы использовать триггер?

Это не проверено, но я думаю, что что-то вроде этого было бы возможно:

delimiter |

CREATE TRIGGER newversion BEFORE INSERT ON yourTable
  FOR EACH ROW BEGIN
    UPDATE yourTable SET lv = 0 WHERE lv = 1;
  END;
|

delimiter ;

Там может быть какая-то ошибка, так как это быстрый тип, основанный на руководстве конечно:)

...