2013-06-23 45 views
2

我不是mysql的专家。我在MySql中有数据库。当删除某些表中的行时,我想将它添加到另一个表中的主键中。我可以在执行删除查询之前执行此操作,从表中获取该主键并将其从应用程序级别插入到另一个表中。但我想从数据库级别做到这一点。我怎样才能做到这一点?MySql删除行并将其添加到另一个表?

+0

什么是 “做一个从数据库级” 是什么意思? –

+0

我的意思是触发器 – hmlasnk

回答

5

您正在搜索的是用“INSERT”语句创建“BEFORE DELETE”“TRIGGER”。谷歌它,你会发现如何做这样的事情。

下面是一个例子:

DELIMITER $$ 

DROP TRIGGER `delete_personne`$$ 

CREATE TRIGGER `delete_personne` BEFORE DELETE on `personne` 
FOR EACH ROW 
BEGIN 
    INSERT INTO histo_personne SELECT OLD.initialespers,OLD.nompers,OLD.prenompers,OLD.datenaisspers,OLD.photopers,OLD.validepers,now(); 
END$$ 

DELIMITER ; 

来源:http://forums.mysql.com/read.php?99,140057,141249#msg-141249

+0

在你走的触发器的路线考虑一个单一的交易与两个命令:插入和删除。 –

+0

他问它的“数据库级别”。一种方法是创建一个用于删除记录的SP,第二种方法是创建一个我认为是删除的触发器。 –

相关问题