之前是可能的所以我想進行一次一對夫婦的刀片是一種互相依賴對方。假設我正在做一個狗評級網站。任何人都可以在我的數據庫中添加一條狗,但是這樣做時他們還需要添加狗的初步評級。其他人隨後可以評價狗。評級的狗是多對一的關係:狗有很多評級。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