InnoDB自动动作

时间:2011-03-21 17:47:47

标签: mysql versioning innodb

我正在使用MySQL和InnoDB。我正在对所有表的记录进行版本控制 - 记录的最新版本有一个名为'lv'的列设置为1,并且将'lv'列设置为1的该ID的先前记录必须设置为0有一个新版本。我每次插入新记录(版本)时都会进行两次查询。有没有办法让InnoDB自动完成?感谢您的投入。

1 个答案:

答案 0 :(得分:1)

你可以使用触发器吗?

这是未经测试的,但我认为这样的事情是可能的:

delimiter |

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

delimiter ;

在那里可能存在一些错误,因为它是一种基于the manual的快速类型:)