之前是可能的所以我想进行一次一对夫妇的刀片是一种互相依赖对方。假设我正在做一个狗评级网站。任何人都可以在我的数据库中添加一条狗,但是这样做时他们还需要添加狗的初步评级。其他人随后可以评价狗。评级的狗是多对一的关系:狗有很多评级。Codeigniter/mySQL问题。检查是否镶几个实际的插入
这意味着我的初步加,因为我这个人既速率,并添加狗,我需要的等级,并设置一个外键,狗的主键。据我所知,这意味着我必须添加狗,然后检查新添加的主键是什么,然后在插入之前将其放入我的评分中。
现在假设出了什么出差错等级的插入,无论是我已经在某种程度上忽略了一个字符串太长,或什么的。如果评分失败,狗已经插入,但评分没有。在这种情况下,我希望这只狗不会首先被加入。
这是否意味着我必须编写代码,说明“如果评级失败,为狗做一个删除”,或者有什么方法可以预测狗的关键应该如何按计划进行。有没有办法说“保持那个位置”,然后如果一切正常,添加它?
任何帮助将不胜感激。谢谢!!
只有当他具有正确的表类型(innoDb ...等)时才有效。 – SeanJA 2010-04-19 22:24:25
编辑答案使这一点清晰。 – Finbarr 2010-04-19 22:33:24
所以问题:如果我要这样做,我不能使用我的模型吗?我在一对不同的表上运行插入,但都在同一个数据库中。我可以做一些像 $ dog_db = $ this-> load-> database('dog',true); $ dog_db-> trans_start();如果(!$ this-> dogs-> insert($ dog)) $ dog_db-> trans_rollback(); else $ dog_db-> trans_commit(); – Ethan 2010-04-19 23:08:18