我打算为我初始化数据库的许多插入语句实现事务。我知道一个事务将允许我们将更改提交到数据库,从而保存它。或者,如果其中一个插入失败,我们可以回滚所有可能成功的插入。我的问题是,如何检测插入语句是否失败?如何检测插入过程中是否发生错误?
start transaction;
insert into ..
insert into ..
insert into ..
if (failure) roll back
else commit.
进一步解释,
我有我跑插入一组数据到我的数据库的SQL脚本文件。我想围绕这些插入包装事务,以便在运行时,如果其中一个失败,那么在执行任何插入操作之前,我们会回滚到初始状态。
您检查每个插入查询的单个结果。例如如果您是从某些客户端应用程序执行此操作,例如PHP,你会检查插入查询的返回值。如果没关系,那么你做另一个插入,等等......一旦完成插入,你做提交。 –
你在做什么?我的意思是这些存储过程在MySQL本身? 这是一些连接到数据库的外部应用程序(就像Marc B问......是这个PHP?)。 – MER
我正在MySQL工作台上工作 –