我有許多表格是「共享」一個自動遞增的主鍵 - 這是通過插入時的觸發器,它看起來像這樣完成的:沒有自動遞增上次插入行信息PK
FOR EACH ROW
BEGIN
INSERT INTO master (time) VALUES (NOW());
SET NEW.id = LAST_INSERT_ID();
END
這會爲剛剛插入的行生成PK。然而,這確實造成了我似乎無法弄清楚那個ID是什麼的問題。 last_insert_id顯然沒有返回任何內容,因爲上述語句沒有在被認爲是「當前連接」的地方執行。
有沒有方法可以訪問連接上最近插入的行而無需自動遞增主鍵?
更新:作爲臨時(?)度量,我已經刪除了觸發器,現在通過在我的模型中插入master
來生成ID。看起來好像會更好,如果我能以某種方式返回觸發器設置的值。
那麼如果你沒有標識符(PK),你將如何識別哪一行被插入? – 2011-06-02 18:32:52