部分失败的插入相关数据

时间:2011-12-27 17:23:05

标签: mysql database

如果我想将相关数据插入到不同的表中,并且插入失败,我该怎么办?因此,只有一部分重要的相关数据被插入到其中一个表中。然后我显然不希望数据断裂留在表中,因为它本身没用。实现这种行为的最佳方法和技术是什么?

2 个答案:

答案 0 :(得分:2)

您可以做的最好的事情之一是将自动提交设置为0.从那里您可以将其嵌套在事务中。 这样您就可以提供一个条件,即如果表格没有完全更新,则回滚并且不会保存到您的磁盘。

START TRANSACTION;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
UPDATE table2 SET summary=@A WHERE type=1;
COMMIT;

我是从MYSQL网站获得的:http://dev.mysql.com/doc/refman/5.0/en/commit.html

答案 1 :(得分:0)

这是交易的目的。

事务包装了一堆事务。最后,事务被提交(所有更改都被命中磁盘)或回滚(没有一个是)

您使用BEGIN语句启动事务,使用COMMIT提交,然后使用ROLLBACK

将其回滚