检查外键上的所有插入是否成功

Checking if all inserts are successful on foreign keys

我有一个主设备 table 通过它们的 ID (FK) 链接到其他 tables(特定设备信息 tables)。

所以我的创建表单所做的是将特定的设备类型信息(例如 PC 硬盘大小,OS...)插入适当的设备类型 table(我每个都有一个设备类型),然后我获取 $this->db->insert_id() 并将其与一般设备信息(如购买日期、保修到期日期和依此类推)。

这非常有效。但是 - 如果出于任何原因主 table 的数据无效 - 第二个查询将失败,并在适当的设备类型 table.

中插入行

有没有办法在我的模型中实际执行完整功能之前检查查询是否成功?或者 - 如果第二个查询(或第三个、第四个……如果我有多个插入)失败,是否可以回滚更改?

只需一次交易即可完成所有操作。要么全部成功,要么 none 成功。