需要有关简单mysql触发器的帮助

时间:2009-11-21 11:03:47

标签: mysql triggers

我的mysql数据库中有一个表(表A),其中包含列出的字段:

  • row1_id - PK
  • row2_id - PK
  • row3_data

我想要做的是,每次在表A中插入或更新记录时,我想调用触发器将表A的新信息写入另一个表,TABLE A_LOG,其中包含以下内容:字段:

  • row0-modification-id - PK
  • row1_id(来自表A) - PK
  • row2_id(来自表A) - PK
  • row3_data(来自表A)

表A_LOG应该有3个PKeys,两个来自表A的新插入/更新记录,另外两个表示修改的编号(1,2,3 ......)

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

创建TableA_Log以自动增加row0-modification-id。 我打赌你并不需要这个表将row0-modification-id和row1_id以及row2_id全部作为PK。

CREATE TRIGGER dbo.trg_TableA_ins_upd
   ON  dbo.DatabaseName
   AFTER INSERT, UPDATE
AS 
BEGIN
   INSERT INTO TableA_Log (row1_id, row2_id, row3_data) 
   SELECT row1_id, row2_id, row3_data FROM inserted
END