我有一个主设备表,它通过ID(FK)链接到其他表(特定设备信息表)。
所以我的创建表单的作用是将特定的设备类型信息(例如PC硬盘大小,操作系统......)插入到适当的设备类型表中(每个设备类型都有一个),然后我拿$ this-> db-> insert_id()并将其与一般设备信息一起插入主设备表(如购买日期,保证到期日期等)。
这完美无缺。但是 - 如果由于任何原因主表的数据无效 - 第二个查询将失败,并在适当的设备类型表中留下插入的行。
在我的模型中实际执行完整功能之前,有没有办法检查查询是否成功?或者 - 如果第二个查询(或第三个,第四个...如果我有多个插入)失败,是否可以回滚更改?
答案 0 :(得分:1)
只需在一次交易中完成所有操作。要么全部成功,要么都不成功。